Я получаю сообщение об ошибке сервера, когда я использую вызов tothers в трансляции laravel - PullRequest
0 голосов
/ 21 октября 2019

Объявите, что новое событие было опубликовано

Пожалуйста, у меня есть это ниже, если я использую event (), он работает нормально, но если я добавляю toOthers, это дает мне ошибку, почему?

Route::post('/messages', function(){
    $user = Auth::user();

    $message = $user->messages()->create([
        'message' => request()->get('message')
    ]);

    //Announce that new event have been posted
    broadcast(new MessagePosted($message, $user))->toOthers;

    return ['status' => 'OK'];

})->middleware('auth');

Ответы [ 3 ]

1 голос
/ 21 октября 2019

toOthers() является функцией, а не свойством

broadcast(new MessagePosted($message, $user))->toOthers();

Начиная с документов

Однако функция broadcast также предоставляет метод toOthersкоторый позволяет исключить текущего пользователя из получателей широковещательной рассылки:

broadcast(new ShippingStatusUpdated($update))->toOthers();

Из источника в vendor/laravel/framework/src/Illuminate/Broadcasting/PendingBroadcast.php Строка 41

public function toOthers()
{
    if (method_exists($this->event, 'dontBroadcastToCurrentUser')) {
        $this->event->dontBroadcastToCurrentUser();
    }

    return $this;
}

Надеюсь, это поможет

0 голосов
/ 21 октября 2019
Route::post('/messages', function(){

    $user = Auth::user();
    $message = $user->messages()->create([
        'message' => request()->get('message')
    ]);    

    broadcast(new MessagePosted($message, $user))->toOthers();

    return ['status' => 'OK'];
})->middleware('auth');
0 голосов
/ 21 октября 2019

Добавлено это кOthers ();

широковещательная рассылка (new MessagePosted ($ message, $ user)) -> toOthers ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...