Laravel 4.2 强制对 createOrUpdate 和类似方法进行批量分配?

Laravel 4.2 force mass assignment on createOrUpdate and similar methods?

我已经在 API 上工作了一段时间,现在有一种 'soft' api 验证所以我可以更容易地在前面使用 Backbone结尾。基本上,设计原则一直是只验证和更新我们关心的发回的属性。在后端,我在验证输入数组后使用模型的可填充数组来限制这一点。这样我们就不必在人们不小心发回我们不允许他们接触的模型数据时惹恼他们,因为文档清楚地说明了什么是可填写的。人们似乎喜欢与 API.

一起工作

我们 运行 遇到的是一个问题,因为我们想将 'createOrUpdate' 之类的东西用于自动创建或更新模型的后端内容。基本上,我们最终会向 fillable 添加一些东西,这与我们面向用户的输入验证背道而驰。在浏览文档时,我遇到了 'forceFill' 和其他各种 'force' 方法,但注意到它们在 'createOrUpdate' 等更神奇的方法中缺失。似乎它们应该是方法,或者至少是可以传递给强制方法的布尔标志,也许这些选项内置于 Laravel 5+?

在我继续在基础中编写自己的方法之前,我只是想问一下这是否已经内置到 4.2 中,我只是想念它?我还想创建这个线程,因为它可能会给仍然对 Laravel 的批量分配如何工作感到困惑的人们提供信息。

如果我没有收到任何反馈,我可能会删除它。

Model::unguard(); 在 5.1 中添加 https://laravel.com/docs/5.1/seeding 在 4.2 中可用。

您只需在创建对象之前调用它,然后您可以使用 createOrUpdate()firstOrNew()create() 等填充任何字段

更正,这是在 L4.2 API: https://laravel.com/api/4.2/Illuminate/Database/Eloquent/Model.html#method_unguard

另请参阅:Model::reguard()