首页 > 解决方案 > Laravel 中的表格摄入和质量分配

问题描述

我正在开发一个涉及在数据库中存储大量数据的 Laravel Web 应用程序 到目前为止,我一直在使用常规的 Laravel Store,部分原因是我更喜欢这种方式,部分原因是我将来可能需要使用模型事件(在批量分配的情况下,模型事件不会触发):

$product = new Product;
$product->name = "EXT";
// MANY MORE FIELDS
$product->save();

但是我在某处读到,这样做不是一个好习惯,而是使用质量分配,因为这样更快更有效。

那是对的吗?我应该继续使用我正在使用的方法还是应该切换到批量分配/更新?

PS:我知道 Mass Assignment 的安全风险可以通过 $gaurded 和 $fillable 来避免。

标签: phpmysqllaraveleloquent

解决方案


在模型中,只需设置protected $fillable=[];protected $guarded=[];清空数组并使用您想要使用的任何内容,无论是批量分配还是雄辩或查询构建器。


推荐阅读