首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel批量插入和忽略表中未包含的属性

Laravel批量插入和忽略表中未包含的属性
EN

Stack Overflow用户
提问于 2018-01-10 23:22:08
回答 1查看 2K关注 0票数 1

我正在从API响应中检索数据,然后将其保存到数据库中。在插入数据库时,我想忽略API响应中的一些字段,因为表中不存在这些字段。我了解到它是通过将必要的字段分配给模型上的$fillable来工作的,这会自动忽略这些字段,但是它只适用于只插入一行的Model::create($singleRowWithAttributesNotInTable),但我希望对多行执行大容量插入。Model::insert($multipleRowsWithAttributesNotInTable)执行大容量插入,但是它忽略$fillable变量并返回Column not found错误。

有没有办法这样做,或者我必须循环通过API数据并在循环中添加Model::create()?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-01-11 09:00:11

根据这些线索:

Laravel5.2型号的$fillable被忽略了?

Laravel 4集体分配守卫而不是工作

[请求]允许雄辩者一次保存多个记录#1295

查询生成器的方法insert存在于Illuminate\Database\Query\Builder类中,而不是Illuminate/Database/Eloquent/Model.php.Which中,这意味着您没有使用雄辩的模型。

这就是为什么$fillable属性不是triggered.If的原因--数组中有任何附加数据,如(_token_submit等)。)会导致你的错误。

在调用insert方法之前,您可以使用getFillable方法过滤数组,以确保插入的数组没有任何附加值。

注意:如果表中有created_atupdated_at字段,并且使用insert方法,则必须将它们添加到数组中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48197681

复制
相关文章

相似问题

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