因为某些时候需要在很多model里面加入一些保存前保存后的事件
比如
created_by
updated_by
字段自动维护这种情况头一次想的是用 observer
或者直接监听 model 保存新增事件
机缘巧合下看到一篇文章 关于laravel orm加载trait的技巧 原文
// app/Model/Traits/UserStamps
trait Usertamps{
public static function bootUserStamps()
{
static::creating(function (Model $model) {
// 设置 created_by 字段的值为当前登录的用户ID
$model->created_by = auth()->id();
});
static::updating(function (Model $model) {
// 设置 updated_by 字段的值为当前登录的用户ID
$model->updated_by = auth()->id();
});
}
}
这样只需要在用到的model直接use这个类即可。
大概语法是
initializeUserStamps
每次实例化新模型的时候都会调用bootUserStamps
这个应该是类似与 model::booted()里面执行如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~