Laravel 8 批量更新
也可以更新匹配查询条件的多个模型。在这个示例中,所有的 active
等于 1 和 destination
为 San Diego
的航班会标记为延误:
App\Models\Flight::where('active', 1)
->where('destination', 'San Diego')
->update(['delayed' => 1]);
update
方法需要一个键为字段名和值为对应数据的数组,该数组代表应更新的字段。
注意:通过 Eloquent 批量更新时,更新的模型不会触发
saving
,saved
,updating
和updated
模型事件。这是因为在批量更新时实际上从未检索模型。