LaravelEloquent模型中,createupdatedeletesave等方法都会触发对应的事件,如creatingcreatedupdatingupdateddeletingdeletedsavingsaved等。

其中,像create可以直接触发creatingcreated事件,但是需要注意的是update事件,假设这样使用:

$this->where(xxx)->update(xxx)

它是不会触发updatingupdated事件的。

查阅文档后发现,需要先获取模型再进行对应的操作,才能触发对应的模型事件。

例如改动如下:

$this->where(xxx)->first()->update(xxx)

$this->find(xxx)->update(xxx)

也就是先获取实例再update即可。