[英]Insert multiple values as array into one column
我有一个选择多个值的复选框。 到目前为止,我让它工作了,数据正在插入到数据库中,但它是这种格式,
我的问题是我希望数据采用这种格式["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.