到目前为止,我正在开发一个涉及在数据库中存储大量数据的Laravel Web应用程序,我一直在使用常规的Laravel存储,如下所示,部分原因是因为我更喜欢这种方式,部分原因是因为我可能需要使用模型事件将来(如果发生大规模分配,模型事件将不会触发):
$product = new Product;
$product->name = "EXT";
// MANY MORE FIELDS
$product->save();
但是我在某处读到,这样做不是一种好习惯,而是使用Mass分配,因为这样做更快,更有效。
对吗?我应该继续使用我使用的方法还是应该切换到“批量分配/更新”?
PS:我知道批量分配和$ fillable可以避免大规模分配带来的安全风险。
答案 0 :(得分:0)
我认为,您应该查看Laravel文档
没有有关性能的信息。
然后,我认为“批量分配”比其他分配更有用。因为您不需要在代码上编写每个值。出于安全原因,您只应该设置fillable
或guard
变量。
答案 1 :(得分:0)
在“模型”中,只需将protected $fillable=[];
和protected $guarded=[];
设置为空数组,然后使用您想使用的任何东西,无论是批量分配还是雄辩的或查询生成器。