2016-07-16 6 views
1

私はLaravelでプライベートメッセージングシステムを実現しようとしていますが、会話が存在するかどうかを確認することで悩んでいます。Laravel 5.2 - 2人のユーザーの会話が存在するかどうかを確認してください

conversations 
- id 

users 
- id 
- name 
- etc 

conversation_user (pivot) 
- user_id 
- conversation id 

私のモデル会話belongsToManyユーザーとユーザーbelongsToMany会話:

私は3つのテーブルを持っています。

会話を追加してピボットテーブルにユーザーを添付しても問題ありませんが、2人のユーザー間の会話が存在するかどうかを確認するためのきれいな方法はありません。

何か助けていただきありがとうございます。

ベン

答えて

0

次のクエリを試してみて、それがあなたを助けるかどうかを確認:

Conversation::whereHas('users', function($query) use ($userIds) { 
    $query->whereIn('id', $userIds); 
})->exists(); 
0

使用@rufflesは、いくつかの小さな変更に答える:

$hasConversation = Conversation::whereHas('users', function($query) use ($userIds) { 
    $query->whereIn('id', $userIds); 
})->count() === 2; 
関連する問題