如何为我的所有模型添加相同的事件侦听器?

时间:2019-02-21 17:58:04

标签: eloquent laravel-5.3

假设我有模型ABCD。现在,我想听听他们的created事件。通常,我会去AppServiceProvider并为每个模型添加事件,如下所示:

public function boot()
{
    A::created(function ($a) {
        //some code
    });

    B::created(function ($b) {
        //some code
    });

    C::created(function ($c) {
        //some code
    });

    D::created(function ($d) {
        //some code
    });
}

代码是相同的,并且由于我实际上有70个++模型,因此我想使该过程更快。那么,有没有一种方法可以将单个函数绑定到我所有模型的created事件上而不必一个接一个地完成?

1 个答案:

答案 0 :(得分:0)

创建一个基础模型类,并继承到模型A,B,C和D。您的基础模型的save方法将触发一个事件,例如model_create,您将仅在一个事件上监听该事件。地点。这样,您就可以为所有模型处理事件。