メッセージのスレッドベースのレイアウトを使用するメッセージ受信ボックスシステムを開発しています。私が現時点で苦労しているのは、メッセージの読み取りステータスを更新することです。たぶん私は構造が間違っているので、いくつかのガイダンスを行うことができます。ここで受信トレイのメッセージの状態を読み取る
は私が持っているものです:message_threadsテーブルで
Table messages ============== id thread_id from_user_id subject body sent_date Table message_threads ===================== id message_id owner_id member_id owner_read member_read
、「所有者」は、スレッドを開始したユーザーを意味し、「メンバー」は、他の参加者を指します。ユーザーの受信トレイには、自分自身で作成したスレッド(所有者)と、返信先の他のユーザー(メンバー)が作成したスレッドが含まれます。次のように
読み出し状態を設定するためのロジックがある:
所有者が応答を送信する場合:「member_read」フィールドは、(未読)0に設定されている、「owner_read」フィールドが1に設定されている(読み取り)
メンバーが応答を送信する場合: 'owner_read' フィールドは0に設定されている(未読)、 'member_read' フィールドが1に設定されているが(読み)
今私はこれがあるとは思いません完全に正しいアプローチメンバーが読み取りステータスで受信トレイ内のメッセージを並べ替えることを望んでいるとします。ただし、ユーザーは所有者とメンバーの両方になることができ、テーブルには2つの読み取りフィールドがあります。だから、この種は正しいとは言えません。
私はこれについてどうすればいいのですか?
編集:ここではexapleシナリオは次のとおりです。 :
- ユーザー1 2
- スレッドAは、ユーザー2の受信トレイ(未読状態0)に表示され、ユーザーにスレッドAを送信
- ユーザー2がスレッドAを開く
- は、ユーザ1の受信トレイ(:未読状態0)にステータスをスレッドのスレッドに
- 1に設定された状態をスレッド(読み取り)
- ユーザ2件の返信
- スレッド2ユーザーの受信トレイのステータス(ステータス1:読み取り)
- は、ユーザ1の受信トレイ(:未読状態0)にステータスをスレッドのスレッドに
- ユーザ1は
- は スレッドする(読み取る)
- ユーザ1つの応答を1に設定するステータスをスレッドスレッド開き
- ユーザー1の受信トレイ(ステータス1:読み取り)で、ステータススレッド:ステータスのみがそのメッセージのためである、「読み」
- ユーザー2がスレッドAを開く
- スレッドAは、ユーザー2の受信トレイ(未読状態0)に表示され、ユーザーにスレッドAを送信
...スレッドは2人だけが読むことができますか? – Matt
はい、そうです。それは1-1の会話です。 – GSTAR