laravel之模型事件

我们可以监听一张表的增删改,比如增的时候我们做什么,改的时候我们做什么

直接上代码
App\Observers

'test',
'displayorder' => 3,
'type' => 'testtest'
];
TestModel::create($data);
dump("create action");
}
image.png
public function test(){
$data = [
'title' => 'test',
'displayorder' => 4,
'type' => 'testtest'
];
TestModel::where('id', 3)->first()->update($data);
dump("update action");
}
image.png
模型钩子方法
retrieved, #获取到模型实例后触发
creating, #创建过程前 * 常用
created, #创建成功后 * 常用
updating, #更新过程前 * 常用
updated, #更新成功后 * 常用
saving, #代表这两个方法的集合creating,updating * 常用
saved, #代表这两个方法的集合created,updated * 常用
deleting, #删除过程前 * 常用
deleted, #删除过程后 * 常用
restoring, #恢复软删除记录前触发
restored, #恢复软删除记录后触发
当模型已存在,非新建时,事件触发顺序如下:
saving -> updating -> updated -> saved
当模型不存在,即需要新增时,事件触发顺序如下:
saving -> creating -> created -> saved

一个save()方法执行成功的话,会影响updated 和 saved,并且是先触发updated事件再触发saved事件,所以实际使用观察者的时候二选一即可,千万别两个事件重复交叉了。

    A+
发布日期:2022年12月23日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: