Laravel: пропустить через уведомление базы данных - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь отправить явное через Email только с использованием класса уведомлений, где он настроен для обоих ['mail', 'database']

Notification::route('mail', $shopadmin->email)->notify(new ShopadminCreated($model));

Но он все равно входит в метод toArray() и выдает ошибку.

Причина в том, что я использую тот же класс для переоценки по электронной почте, но на этот раз не нужно создавать запись в базе данных.

1 Ответ

0 голосов
/ 05 ноября 2018

Решение:

После того, как наткнулся на Документацию об уведомлении. Я попытался этот блок кода и реализовать с модификацией ниже:

ShopadminCreated.php:

...
public function via($notifiable)
{
    return $notifiable->prefers_email ? ['mail'] : ['mail', 'database']; 
    //return ['mail', 'database'];
}
...

Контроллер:

$data = $notification->data; // Array fetched from database
$model = Admin::hydrate([$data])[0];
$model->setAttribute('prefers_email', true);

Notification::send($shopadmin, new ShopadminCreated($model));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...