如何在一列中存储多个值

时间:2019-12-11 11:50:39

标签: php laravel

我想在Laravel项目中存储来自select2多个值的多个值。它返回一个数组,其中所有输入都包含服务ID。我想将每个值存储到service_id列中的数据库中。我怎样才能做到这一点?我是使用laravel 5.8刚接触laravel的人。

dd()的请求输出:

enter image description here

这是我的代码:

$services = array();
 $services = $request->except('_token');
 foreach ($services as $id=>$value) {
   DB::table('services')->insert(['service_id' => $value]);
 }

它给出此错误:“找不到列:1054'字段列表'中的未知列'0'(SQL:插入services01)值(6 ,9))“

我该如何解决?预先感谢。

3 个答案:

答案 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 ]);