Привет, ребята, я действительно запутался, потому что я прочитал документы о том, как передавать значения в трансляции, делая это.
public function broadcastOn()
{
return new PresenceChannel('room.'.$this->message->room_id);
}
и это дает мне ошибку авторизации, которая не авторизована. похоже, что параметр не читается в broadcastOn, вместо этого он читается в Echo.join, потому что, когда я это делаю, все работает нормально.
Echo.join('room.' + 1)
.listen('NewMessage', (e) => {
//
});
Но я не хочу передавать 1 всем своим соединениям, мне нужно, чтобы оно было динамическим. Есть ли способ передать $ this-> message-> room_id в Echo.join? Если это поможет, вот мой файл channels.php
Broadcast::channel('room.{roomId}', function ($user, $roomId) {
return //logic is here
});
Я пробовал то, что написано в документации, а именно
Echo.join('room.${roomId}')
.here(...)
.joining(...)
.leaving(...)
.listen('NewMessage', (e) => {
//
});
но это дает мне исключение из-за недопустимого имени канала. Я обыскал весь Интернет, но ответа не получил. Может быть, мне здесь не хватает чего-то очевидного. Пришлите, пожалуйста, помощь.
`room.${roomId}`
- person thanksd   schedule 30.10.2017