Канал database уведомления в Laravel
Канал database сохраняет
уведомление в таблицу
notifications. На сайте
из неё строят колокольчик,
историю сообщений, список
непрочитанных. Чтобы канал
сработал, в via должен
быть database.
Содержимое записи задаёт метод
toArray. Он возвращает
массив - Laravel сохранит его
в JSON-поле. Ключи выбираете вы:
заголовок, текст, id сущности,
ссылка:
<?php
public function toArray(object $notifiable): array
{
return [
'title' => 'Invoice paid',
'body' => 'Your invoice has been paid.',
'url' => url('/invoices'),
];
}
?>
Таблица появляется миграцией
уведомлений (её создают отдельной
Artisan-командой, если ещё нет).
Без миграции канал database
упадёт с ошибкой при отправке.
Проверьте, что миграция выполнена.
toArray не шлёт почту -
только данные для базы.
Если в via есть и mail,
и database, Laravel вызовет
и toMail, и toArray
для одного и того же уведомления.
В WelcomeUser опишите
toArray с полями
для колокольчика.
Убедитесь, что в via
есть database.
Что возвращает toArray
и куда Laravel кладёт этот массив?