わかりました、マルチユーザー チャット システムをセットアップしています。
私はすべてのメッセージを保持するメッセージテーブルを持っています-簡略化:
messages:
id,
content,
thread_id
それから私はスレッドテーブルを持っています:
messages_threads:
id,
participantlist_id
それから私は参加者リストテーブルを持っています:
participantlist:
list_id,
name
そして私はparticipantlist_linksテーブルを持っています:
participantlist_links:
list_id,
participant_id
参加者のリスト (配列) からスレッド ID を見つけたいのですが、これを思いつきました:
$threadid_sqlquery = "
SELECT messages_threads.id FROM messages_threads
JOIN participantlist_links
ON messages_threads.participantlist_id = participantlist_links.list_id";
foreach($participants_array as &$participant_id){
$maxid_sqlquery .= "
AND participantlist_links.participant_id='".$participant_id."'";
}
しかし今:私はユーザー1と2の間のチャットのthread_idを探しています-ユーザー1、2、3とのマルチユーザーチャットとユーザー1、2、3、4とのチャットがあります3 つの行ですが、ユーザー 1 と 2 のみが参加者である行のみが必要です。
それを照会する方法はありますか?