Как добавить один и тот же прослушиватель событий для всех моих моделей? - PullRequest
0 голосов
/ 21 февраля 2019

Предположим, у меня есть модели A, B, C и D.Теперь я хочу послушать их 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 голосов
/ 18 апреля 2019

Создайте базовый класс Model и наследуйте ваши модели, A, B, C и D. Метод save вашей базовой модели запустит событие, скажем, model_create, и вы будете прослушивать это событие только на одномместо.Таким образом, вы можете обрабатывать события для всех ваших моделей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...