laravel模型事件-update触发updating和updated的问题
在Laravel
的Eloquent模型
中,create
、update
、delete
、save
等方法都会触发对应的事件,如creating
、created
、updating
、updated
、deleting
、deleted
、saving
、saved
等。
其中,像create
可以直接触发creating
和created
事件,但是需要注意的是update
事件,假设这样使用:
$this->where(xxx)->update(xxx)
它是不会触发updating
和updated
事件的。
查阅文档后发现,需要先获取模型再进行对应的操作,才能触发对应的模型事件。
例如改动如下:
$this->where(xxx)->first()->update(xxx)
或
$this->find(xxx)->update(xxx)
也就是先获取实例再update
即可。