我已经根据Laravel docs
创建了一个模型观察器在我的UserObserver.php
目录中成功创建了Observers
文件的地方。
在我的created
方法中,要测试一切是否正常,我只是登录到[debugbar](
public function created(User $user)
{
Debugbar::info('User created!');
}
我正在使用ajax调用来创建用户-成功创建用户后,在调试栏的消息标签中看不到任何显示内容。
我已经在我的AppServiceProvider
文件中注册了观察者:
public function boot()
{
User::observe(UserObserver::class);
}
我还尝试将其放入我的User
模型中:
protected $dispatchesEvents = [
'created' => UserObserver::class,
'deleted' => UserObserver::class,
];
仍然没有运气。
因为请求是ajax,是否有其他方法可以尝试? 谢谢您的任何建议!
答案 0 :(得分:0)
感谢Bryan和Aken-非常感谢您花费的时间帮助您。
这就是我最后的希望,希望对别人有帮助。
User.php
(型号)
/**
* The event map for the model.
*
* @var array
*/
protected $dispatchesEvents = [
'created' => UserCreated::class,
];
...
然后,通过the documentation生成我创建(创建的系统)Users
目录的事件/侦听器。其中有一个名为UserCreated.php
EventServiceProvider.php
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
UserCreated::class => [
CreateDefaultReportConfiguration::class,
],
];
],
从那里创建一个Listeners
目录,其中包含一个名为CreateDefaultReportConfiguration.php
...
/**
* Handle the event.
*
* @param UserCreated $event
* @return void
*/
public function handle(UserCreated $event)
{
Log::info('UserCreated Listener');
}
现在在我的/storage/logs/
目录中:
local.INFO: UserCreated Listener