大家好我真的很困惑,因为我已经阅读过关于如何通过这样做传递广告中的值的文档。
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) => {
//
});
但它给了我一个无效的频道名称例外。 我搜索了整个互联网,但没有回答。也许我错过了一些明显的东西。请发送帮助。
答案 0 :(得分:0)
如果你想使用template literals,它们应该在backticks
之间,而不是单引号,所以你应该订阅:
Echo.join(`room.${roomId}`)
.here(...)
.joining(...)
.leaving(...)
.listen('NewMessage', (e) => {
//
});