当我尝试使用Eloquent事件(更新)时,它对我很好,但我注意到当我写这个查询时事件没有被解雇
Samples::where('id', $id)->update($inputs);
但是当我写这个
时它会起作用Samples::find($id)->update($inputs);
这是我的更新活动
public static function boot()
{
static::updating(function ($model) {
dd('it works !');
parent::boot();
}
答案 0 :(得分:3)
您的第一个代码将直接生成UPDATE
查询并将其发送到数据库。它永远不会加载任何模型。
第二个代码将首先执行SELECT
查询以填充模型,然后使用收到的数据执行UPDATE
查询。
这就是为什么第一个查询永远不会激活您的更新事件。