У меня есть таблица сообщений, которая отлично работала с папками «Входящие», sent_items, архивом и т. Д.,
Но клиент хочет, чтобы сообщения были в представлении беседы.
Вот мойструктура таблицы сообщений,
Field Type
id int(11)
from_fb_uid varchar(45)
to_fb_uid varchar(45)
message_body text
sent_datetime datetime
read_status tinyint(1)
archived tinyint(1)
Сначала мне нужно отобразить самое последнее (только сообщение для каждого разговора, основанное на просмотре пользователя).
Когда я щелкаю сообщение разговора, мне нужно отобразить все сообщения как представление разговора.
Как только я знаю, что получатель и отправитель в разговоре, я использую следующий запрос, чтобы получитьсписок сообщений, основанный на sent_time (для сохранения вида разговора) ..
SELECT * FROM `user_message`
WHERE
(from_fb_uid='100002638144690' and to_fb_uid='100002564538409')
or
(from_fb_uid='100002564538409' and to_fb_uid ='100002638144690')
order by
sent_datetime desc
Но я не знаю, как получить список новых разговоров и вывести последнее сообщение в ветке разговоров ...
как это сделать?
Обновление:
Я изменил структуру таблицы с двумя сущностями как
user_conversation table
Field Type
conversation_id int(11)
sender_id_user int(11)
sender_fb_uid varchar(45)
receiver_id_user int(11)
receiver_fb_uid varchar(45)
sender_archive_status tinyint(1)
receiver_archive_status tinyint(1)
last_updated timestamp
user_message table
Field Type
id int(11)
from_fb_uid varchar(45)
to_fb_uid varchar(45)
message_body text
sent_datetime datetime
read_status tinyint(1)
archived tinyint(1)
Теперь, как можно перечислить последниесообщение для пользователя с отправителем?