Отмена трансляции изнутри события - PullRequest
0 голосов
/ 06 апреля 2019

Итак, в моем приложении при приглашении нового пользователя я называю свое UserInvited событие следующим образом:

event(new UserInvited($invitation));

Теперь, это отправляет электронное письмо на назначенный адрес и транслирует событие на канале Pusher (если пользователь уже существует):

public function broadcastOn()
{
    $user = User::where('email', $this->invitation->recipient_email)->first();

    if($user){
        return new PresenceChannel('user_'.$user->id);
    }
}

однако, если он не существует (и ничего не возвращается из broadcastOn), он пытается выполнить вещание на пустой канал, что приводит к множеству невыполненных заданий с сообщением «Неверное имя канала».

Видя, что я хотел бы, чтобы событие все еще вызывалось, но только для фактической трансляции, если есть существующий пользователь, есть ли способ отменить трансляцию из определения события? Или я должен просто вернуть случайную строку для канала и позволить ему транслироваться там?

...