#laravel
#laravel
Вопрос:
Уведомления не записывают данные в базу данных. Я попробовал это с toDatabase
, и это также не сработало. Посмотрите:
<?php
namespace AppNotifications;
use AppUser;
use IlluminateBusQueueable;
use IlluminateContractsQueueShouldQueue;
use IlluminateNotificationsMessagesMailMessage;
use IlluminateNotificationsNotification;
class NovoSeguidor extends Notification implements ShouldQueue
{
use Queueable;
private $user;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct(user $user)
{
$this->user = $user;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail','database'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return IlluminateNotificationsMessagesMailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->line("Novo seguidor: {$this->user}")
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('Thank you for using our application!');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
'teste' => 'Hello',
];
}
}
Мой data
возврат []
столбца.
Я пробовал оба способа, оба с использованием toArray()
и toDatabase()
, оба возвращают пустой массив.
Я перепробовал все, и я не вижу ничего, что могло бы быть причиной этого. Кто-нибудь может помочь мне определить проблему?
Комментарии:
1. Та же проблема при использовании Laravel 7. На моем локальном компьютере это работает; в нашей промежуточной среде нет, что указывает на проблему с инфраструктурой или с файлом .env. Не могли бы вы решить проблему? В настоящее время я отлаживаю проблему, просматривая код Laravel. Я обнаружил, что функции в
src/Illuminate/Notifications/DatabaseChannel.php
не выполняются (send
,buildPayload
,getData
). Я опубликую свои наблюдения / решение здесь.