2017-07-30 45 views
1

我有以下代碼,其中包含有關用戶發送讀取時間消息的信息。向受保護的頻道中的多個用戶發送消息

問:有什麼辦法要發送消息給更多的10個用戶我當前的代碼發送消息給一個用戶這樣

return new PrivateChannel('SendMessageChannel.1'); 

事件類

class SendMessageEvent implements ShouldBroadcast 
{ 
    use Dispatchable, InteractsWithSockets, SerializesModels; 

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

    public function broadcastOn() 
    { 
     return new PrivateChannel('SendMessageChannel.1'); 
    } 
} 

回答

1

如果我沒有您嘗試創建羣聊,但多個用戶可以在單個聊天室中互相聊天。

你想要的不僅僅是Echo的實現。它也需要相應的數據庫結構。

所以我可以給你關於我以前的工作的簡要想法。

我有一個chatrooms表,其中包含所有添加到該房間的用戶的ID(以逗號分隔的形式)。在渠道路線中,我如何檢查特定用戶是否應允許閱讀郵件:

Broadcast::channel('private-chat-room-{chatRoom}', function ($user, $chatRoom) { 
    $chatRoom = App\Models\ChatRoom::find($chatRoom); 
    if(in_array(auth()->user()->id, explode(',', $chatRoom->user_ids))) { 
     return true; 
    } else { 
     return false; 
    } 
}); 
相關問題