如何在 laravel 广播 channel.php 中获取房间 ID

How to get room id in laravel broadcast channel.php

这是我的js

var room_id = 3;
Echo.join('room'+room_id)
.listen('PersonalChat', (response)=>{
    // console.log(response);
 });

这里是PersonalChat.php

public $data;
public function __construct($data)
{
    $this->data=$data;
}

public function broadcastOn()
{
    return new PresenceChannel('room'."How to get room_id");
}

这是我的 channels.php

Broadcast::channel('rooom'.'How to get roomid', function ($user) {
 return EventHelper::Filter_UsingEvent($user);
});

我在 channels.php 和 PersonalChat.php
中问了我的问题 再来一次我可以说
我的问题是 ** 如何在 channels.php 和 PersonalChat.php

中获取房间 ID **

谢谢大家
对不起我的英语水平

您可以在 channel.php 中接受参数,例如 {roomId},然后在回调中您将获得该值

Broadcast::channel('rooom.{roomId}'., function ($user,$roomId) { // $roomId will get
 return EventHelper::Filter_UsingEvent($user);
});

然后在 js 中

var room_id = 3;
Echo.join('room.'+room_id)
.listen('PersonalChat', (response)=>{
    // console.log(response);
 });

并在 PersonalChat.php

public $data;
public function __construct($data)
{
    $this->data=$data;
}

public function broadcastOn()
{
    return new PresenceChannel('room'.$this->data->roomId); // you need to pass room id when event is trigger 
}

ref link https://laravel.com/docs/8.x/broadcasting#example-application-authorizing-channels