Laravel:多观察者

时间:2017-10-23 16:38:36

标签: database laravel observers

在我的项目中,“非连接器”表在表的末尾有六个日志列:

created_atcreate_user_idupdated_atupdate_user_iddeleted_atdelete_user_id

我现在用Observers更新*_user_id单元格,但我的项目是一个不断发展的项目,在X年中它可以是Y表,这意味着我在服务提供者处有Y个观察者和Y行。

是否有任何通用方法来处理这些或观察者观察所有这些表?

1 个答案:

答案 0 :(得分:1)

只需创建一个特征并在任何想要跟踪的模型中使用它

 trait Trackable
{
    public static function bootTrackable()
    {
        static::creating(function ($model) {
            // blah blah
        });

        static::updating(function ($model) {
            // bleh bleh
        });

        static::deleting(function ($model) {
            // bluh bluh
        });
    }
}

MyModel extends Model {
    use Trackable;

    // etc...
}