我想在我的laravel项目中存储来自select2多个值的多个值。它返回一个数组,所有输入都包含服务ids。我希望将每个值存储到service_id列中的数据库中。我该怎么做?我是新来的,用的是拉拉5.8。
请求的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)中)”
我怎么才能解决这个问题?提前谢谢。
发布于 2019-12-11 12:29:41
问题是,您正在传递一个数组来服务id。在您的示例中,键是services_select,而值是您的foreach循环中的一个数组。
尝尝这个
$services = $request->except('_token');
foreach ($services['services_selects'] as $id => $value) {
DB::table('services')->insert(['service_id' => $value]);
}希望这能帮上忙。
发布于 2019-12-11 12:31:29
try this
$services = $request->except('_token');
foreach ($services['services_selects'] as $index => $value) {
DB::table('services')->insert(['service_id' => $value]);
}发布于 2019-12-11 12:34:11
这并不是一种很好的方法,但是如果您必须在一列中这样做,只需添加(,)。首先创建局部变量来存储所有数据,然后插入到表中
$services = array();
$services = $request->except('_token');
$var = "";
foreach ($services as $id=>$value) {
$var = $var .",".$value;
}
DB::table('services')->insert(['service_id' => $var ]);https://stackoverflow.com/questions/59285189
复制相似问题