大家好,我真的很困惑,因为我已经阅读了有关如何通过这样做在广播中传递值的文档。
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) => {
//
});
但它给了我一个无效的频道名称异常。我搜索了整个互联网,但没有答案。也许我在这里遗漏了一些明显的东西。请发送帮助。