Я создаю систему обмена сообщениями, которая уведомляет каждого пользователя в беседе, когда установлен ответ.
MessageNotification. php
class MessageNotification extends Notification
{
use Queueable;
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['database'];
}
public function toArray($notifiable)
{
return [
'data' => 'Messenger notification'
];
}
}
InboxController
public function reply($hashedId, Request $request)
{
$this->validate($request, [
'body' => 'required',
]);
$conversation = Conversation::where('hashed_id', $hashedId)->first();
$users = $conversation->participants();
//dd($conversationUserIds);
$notifications = Notification::send($users, new MessageNotification());
$message = $conversation->messages()->create([
'sender_id' => auth()->user()->id,
'body' => $request->body,
]);
return new MessageResource($message);
}
Ошибка
Вызов неопределенного метода Illuminate \ Database \ Eloquent \ Relations \ BelongsToMany :: routeNotificationFor ()
Дополнительная информация
I Пришлось создать собственную черту Уведомляемость из-за необходимости использовать как Laravel Система уведомлений Sparks, так и систему уведомлений о запасах Laravels. Учебное пособие Я получил код.
Пользовательская черта уведомления
namespace App\Traits;
use Illuminate\Notifications\Notifiable as BaseNotifiable;
use App\Notifications\DatabaseNotification;
trait Notifiable {
use BaseNotifiable;
public function notifications() {
return $this->morphMany(DatabaseNotification::class, 'notifiable')->orderBy('created_at', 'desc');
}
}
Также обратите внимание, что $reciever->notify(new MessageNotification());
прекрасно работает при отправке уведомления на один пользователь. Единственное другое решение, которое я видел в этом, было: https://laracasts.com/discuss/channels/code-review/call-to-undefined-method-routenotificationfor-while-sending-email-to-multiple-users
Я пытался реализовать это, но я использую канал базы данных, поэтому это не должно иметь никакого значения.