Gelen Kutusu'nda mesajların durumunu okuyun

0 Cevap php

Ben iletileri için bir iş parçacığı tabanlı bir düzen kullanan bir mesajlaşma gelen sistem geliştiriyorum. Ne şu anda ile mücadele ediyorum mesajların okuma durumunu güncelliyor. Belki yapısı yanlış var bu yüzden bazı rehberlik ile yapabilirdi.

İşte ne var:

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

Message_threads tabloda, 'sahibi' Konuyu başlatan kullanıcı anlamına gelir, ve 'üye' diğer katılımcıyı ifade eder. Bir kullanıcının gelen kutusu kendilerini (sahibi) ve aynı zamanda (üye) cevap gelmiş diğer kullanıcılar tarafından oluşturulan konuları oluşturduğunuz konuları içerecektir.

Aşağıdaki gibi okuma durumunu ayarlamak için mantık:

  • sahibi bir cevap gönderir: 'member_read' alanına 0 (okunmamış) ayarlanır, alan 1'e ayarlandığında (okuma) 'owner_read'

  • üyesi bir cevap gönderir: 'owner_read' alan 0 olarak ayarlanır (okunmamış), 'member_read' alanı 1'e ayarlandığında (okuma)

Şimdi üye okuma durumuna göre kendi gelen mesajları sıralamak istiyor herhalde çünkü bu tamamen doğru bir yaklaşım olduğunu düşünmüyorum - ancak kullanıcı bir sahibi ve bir üyesi hem de olabilir, ve iki tablodaki alanları okumak vardır. Yani bu tür doğru olmaz.

Ben bu konuda gitmeli konusunda herhangi bir öneriniz?

EDIT: İşte bir Exaple senaryo:

  • User 1 sends Thread A to User 2
    • Konu A Kullanıcı 2 kişinin doğuştan (: okunmamış durum 0) görüntülenir

  • User 2 opens Thread A
    • 1 set A statüsü Konuyu (okuma)

  • User 2 replies to Thread A
    • Kullanıcı A statüsü Konuyu 1'in gelen kutusu (durum 0: okunmamış)
    • Kullanıcı 2'nin kutunuza A statüsü Konuyu (durum 1: oku)

  • User 1 opens Thread A
    • 1 set A statüsü Konuyu (okuma)

  • User 1 replies to Thread A
    • Kullanıcı 1'in kutunuza A statüsü Konuyu (durum 1: oku)
    • Kullanıcı A statüsü Konuyu 2'nin kutusu (durum 0: okunmamış)

0 Cevap