首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在一列中存储多个值

如何在一列中存储多个值
EN

Stack Overflow用户
提问于 2019-12-11 11:50:39
回答 3查看 1.3K关注 0票数 0

我想在我的laravel项目中存储来自select2多个值的多个值。它返回一个数组,所有输入都包含服务ids。我希望将每个值存储到service_id列中的数据库中。我该怎么做?我是新来的,用的是拉拉5.8。

请求的dd()输出:

这是我的代码:

代码语言:javascript
运行
复制
$services = array();
 $services = $request->except('_token');
 foreach ($services as $id=>$value) {
   DB::table('services')->insert(['service_id' => $value]);
 }

它给出了以下错误:“未找到列:‘字段列表’中的1054个未知列'0‘(SQL:插入到services (01)值(6,9)中)”

我怎么才能解决这个问题?提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-12-11 12:29:41

问题是,您正在传递一个数组来服务id。在您的示例中,键是services_select,而值是您的foreach循环中的一个数组。

尝尝这个

代码语言:javascript
运行
复制
$services = $request->except('_token');
foreach ($services['services_selects'] as $id => $value) {
  DB::table('services')->insert(['service_id' => $value]);
}

希望这能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2019-12-11 12:31:29

代码语言:javascript
运行
复制
try this
 $services = $request->except('_token');
 foreach ($services['services_selects'] as $index => $value) {
   DB::table('services')->insert(['service_id' => $value]);
 }
票数 1
EN

Stack Overflow用户

发布于 2019-12-11 12:34:11

这并不是一种很好的方法,但是如果您必须在一列中这样做,只需添加(,)。首先创建局部变量来存储所有数据,然后插入到表中

代码语言:javascript
运行
复制
     $services = array();
     $services = $request->except('_token');
     $var = "";
     foreach ($services as $id=>$value) {
       $var = $var .",".$value;
     }
     DB::table('services')->insert(['service_id' => $var ]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59285189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档