我一直在研究PHP消息傳遞系統,並且我想實現訪問特定對話/線程的兩種方法。根據收件人從數據庫中選擇對話
第一個問題是查詢會話的ID(message/{numeric ID}
),這非常簡單直接。它也是查詢羣組消息的唯一方法。
該部分的方法是查詢個人「1對1」消息線程(message/{alphanumeric user ID}
)。我將列出下面使用的三張表。
表conversations
:
id | locked | timestamp
timestamp
表示在會話進行排序時具有較少的查詢起見最後一個消息的時間。
表participants
:
id | conversation | member | timestamp
conversation
是國外ID鍵從conversations
,member
是表members
外鍵和timestamp
在談話的「看到」的功能目的用戶的最後一項活動。
表messages
:
id | member | conversation | message | timestamp
列是不言自明這裏。
現在,我想取得對話的ID,我只根據成員ID將人員A和人員B作爲參與者。
我已經考慮了幾個小時,沒有想到優雅的解決方案。
只有A和B.所以應該沒有其他人,對嗎? – iXCray
確實,這是正確的 - 只有A和B,沒有其他人。 –
但結果可能不止一次與這些標準進行對話。你想要所有的還是最新的? – steven