我的问题不是那么简单。 我有三张桌子。
1。)Company_users(包含所有用户数据)
2。)会话(存储了session_id的位置)
3。)参与对话(例如:user_id:190,conversation_id:209)(user_id:191,session_id:209)
所以我要完成的是: 我想获得授权的用户对话(例如:209,210,220)
然后我需要加入表Conversation_participates并获取匹配的用户,而无需获得授权用户,以便在活动用户消息页面上显示Company_users表中的匹配用户信息。)
这怎么办?
$chats = DB::table('company_users_conversation_user')->where('company_users_conversation_user.user_id', $this->auth_user->id)
->leftJoin('company_users_conversations', 'company_users_conversation_user.conversation_id', '=', 'company_users_conversations.id')
->join('company_users_conversation_user as cucu', function($query) {
$query->where('cucu.conversation_id', '=', 'company_users_conversations.id')
->where('cucu.user_id', '!=', 'company_users_conversation_user.user_id');
})
->get();
这是我所走的路,但实际上并没有提供正确的数据。
答案 0 :(得分:0)
希望下面的代码可以工作。
$chats = DB::table('Company_users')
->join('Conversation_participates', 'Conversation_participates.user_id', '=', 'Company_users.user_id')
->join('Conversations', 'Conversations.conversation_id','Conversation_participates.conversation_id')
->where('Company_users.user_id', $activeUserId)
->get();
$activeUserId
可以从身份验证会话中获取。
查询基于您提到的三个表。
我们没有有关company_users_conversation_user
,company_users_conversations