Laravel: 多观察者

Laravel: Multi observer

在我的项目中,"non-connector" tables 在 table 的末尾有六个日志列:

created_at, create_user_id, updated_at, update_user_id, deleted_at, delete_user_id.

我现在用观察者更新 *_user_id 单元格,但我的项目是一个不断发展的项目,在 X 年内它可以是 Y tables 这样的,这意味着我有 Y 个观察者和 Y ServiceProvider 中的行。

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

只需创建一个特征并将其用于您想要跟踪的任何模型

 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...
}