繁体   English   中英

将多个值作为数组插入一列

[英]Insert multiple values as array into one column

我有一个选择多个值的复选框。 到目前为止,我让它工作了,数据正在插入到数据库中,但它是这种格式,

图像显示值为 1,2,3

我的问题是我希望数据采用这种格式["value1","value2","value3"] 我正在使用 Laravel,这是我的控制器中的代码:

public function store(NewsRequest $request) //ive removed most of the unnecessary code like the image upload and all to make this clean.
{
    $news = new News($request->except('files', 'image'));
    $serialize = implode(",", $news->majors); //this is my focus to change the format to ["value1","value2","value3"]

    //ready data for insertion
    $data = array(
        "name" => $news->name,
        "article_type_id" => $request->category,
        "majors" => $serialize,
        "content" => $news->content
    );

    DB::table('articles')->insert($data); //insert into database
}

目前我只能用逗号分隔数据插入数据,但我希望数据插入如下:

在此处输入图片说明

我试着环顾互联网,但除了 JSON.stringify 之外我找不到任何可以帮助的东西。 我希望在我的控制器中获得格式。 我希望对此有所了解。 先感谢您。

在开头、 implode() 和结尾添加引号将起到神奇的作用。

$serialize = '["'.implode('","', $news->majors).'"]';

您可以考虑对迁移文件中的列使用 json 属性,然后在相关模型中您可以将该列转换为数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM