Как я могу вызвать наблюдателя модели с помощью вызова ajax? - PullRequest
0 голосов
/ 11 июня 2019

Я создал модель наблюдателя в соответствии с Документами Laravel

, который успешно создает файл UserObserver.php в моем каталоге Observers.

В моем *Метод 1009 *, чтобы проверить, что все работает, я просто захожу на [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? Спасибо за любые предложения!

1 Ответ

0 голосов
/ 12 июня 2019

Спасибо Брайану и Акену - я очень ценю время, которое вы потратили на помощь.

Вот что я закончил в надежде, что это поможет кому-то еще.

User.php (модель)

/**
 * The event map for the model.
 *
 * @var array
 */
protected $dispatchesEvents = [
    'created' => UserCreated::class,
];

...

Затем, просматривая документацию , сгенерируйте созданное мной событие / прослушиватель (созданная система) каталог 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...