我想在Laravel项目中存储来自select2
多个值的多个值。它返回一个数组,其中所有输入都包含服务ID。我想将每个值存储到service_id
列中的数据库中。我怎样才能做到这一点?我是使用laravel 5.8刚接触laravel的人。
dd()
的请求输出:
这是我的代码:
$services = array();
$services = $request->except('_token');
foreach ($services as $id=>$value) {
DB::table('services')->insert(['service_id' => $value]);
}
它给出此错误:“找不到列:1054'字段列表'中的未知列'0'(SQL:插入services
(0
,1
)值(6 ,9))“
我该如何解决?预先感谢。
答案 0 :(得分:1)
问题是您要将数组传递给服务ID。 在您的情况下,键将是services_select,而value是您的foreach循环中的一个数组。
尝试一下
groupBy(connectedServers, (item) => {
return [item.key1, item.key2];
});
希望这会有所帮助。
答案 1 :(得分:1)
try this
$services = $request->except('_token');
foreach ($services['services_selects'] as $index => $value) {
DB::table('services')->insert(['service_id' => $value]);
}
答案 2 :(得分:0)
这不是一个好方法,但是如果您必须在一列中添加,请添加(,)。 首先创建局部变量以存储所有数据,然后将其插入表中
$services = array();
$services = $request->except('_token');
$var = "";
foreach ($services as $id=>$value) {
$var = $var .",".$value;
}
DB::table('services')->insert(['service_id' => $var ]);