首页 > 解决方案 > 我应该在服务提供者还是在模型中注册模型观察者?

问题描述

有两种注册模型观察者的方法 -

方法一:AppServiceProvider

public function boot()
{
    CourseTag::observe(CourseTagObserver::class);
}

方法 2:模型本身

public static function boot()
{
    parent::boot();

    parent::observe(new CourseTagObserver);
}

我不确定何时使用方法 1 以及何时使用方法 2 ??

标签: laravellaravel-5eloquent

解决方案


我通常会使用文档中概述的方法,但任何一种方式都可以正常工作。这取决于您的个人喜好。

要注册观察者,请在您希望观察的模型上使用观察方法。您可以在您的服务提供商之一的引导方法中注册观察者。在本例中,我们将在 AppServiceProvider 中注册观察者:

public function boot()
{
    User::observe(UserObserver::class);
}

推荐阅读