私はPHPメッセージングシステムに取り組んでおり、特定の会話/スレッドにアクセスする2つの方法を実装したいと考えています。データベースからの会話を受信者に基づいて選択する
最初のものは会話のID(message/{numeric ID}
)を照会していますが、これはかなりシンプルで簡単です。また、グループメッセージを照会する唯一の方法です。
セクションメソッドは、個人的な「1対1」メッセージスレッド(message/{alphanumeric user ID}
)を照会しています。私は以下の3つのテーブルをレイアウトします。
表conversations
:
id | locked | timestamp
timestamp
ソートときより少ないクエリを有するために、会話における最後のメッセージの時間を示します。
表participants
:
id | conversation | member | timestamp
conversation
外国IDキーではconversations
から、member
はテーブルmembers
の外部キーであるとtimestamp
は「見」機能の目的で、会話の中で、ユーザの最後のアクティビティです。
表messages
:
id | member | conversation | message | timestamp
列は、ここではかなり自明です。
ここでは、メンバーIDに基づいて、参加者としての人物Aと人物Bのみを持っている会話のIDを取得したいと思います。
私はこれについて何時間も考えていましたが、洗練されたソリューションが心に浮かびません。
AとBだけですので、他の人はいないはずです、正しいですか? – iXCray
確かに、それは正しい - AとBのみ、他は誰もいない。 –
しかし、結果はこれらの基準で複数の会話になる可能性があります。あなたはすべての、または最新のものだけを望みますか? – steven