[英]Laravel observer property not being called on update
我正在調查觀察者,我發現不是在App\Providers\EventServiceProvider
laravel 的boot()
方法期間調用觀察者,而是可以使用屬性protected $observers
調用它。
在 boot 方法中調用它時它工作得很好,但是當我把它放在屬性中時它不起作用。
我究竟做錯了什么? 我在文檔中找不到任何其他解釋。
我的事件服務提供商:
class EventServiceProvider extends ServiceProvider
{
/**
* Summary of Observers
* @var mixed
*/
protected $observers = [
User::class => [UserObserver::class],
];
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
//User::observe(UserObserver::class);
//Above line is commented because property $observers is used, but uncommented when property observers is commented.
}
我的觀察者:
class UserObserver
{
/**
* Handle the User "updated" event.
*
* @param \App\Models\User $user
* @return void
*/
public function updated(User $user)
{
$dirty = $user->getChanges();
dump($user);
dd($dirty);
}
}
你有沒有試過調用 $this->register(); 在引導 function 內?
class EventServiceProvider extends ServiceProvider
{
/**
* Summary of Observers
* @var mixed
*/
protected $observers = [
User::class => [UserObserver::class],
];
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
$this->register();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.