Я разрабатываю новый сайт, и я должен делать личные сообщения для наших пользователей. Я уже делал это по другим проектам, но дизайн там просто не кажется правильным (у меня не может быть более двух человек, участвующих в сообщении, например). Так какой же «правильный» подход к этому? Я хотел бы предложить своим пользователям такую же функциональность, как Facebook (опять же, я уже сделал это, но он чувствует себя грязным :)) Таким образом, система должна поддерживать 2 или более пользователей в сообщениях и потокоподобных сообщениях.Разработка личных сообщений
Я думал, и одно решение будет иметь две таблицы, как так:
pm_messages: идентификатор | pm_messages_id | user_id | название | содержание | date_time
pm_recipients: ID | pm_messages_id | user_id | has_seen | удалено
Я бы сохранил фактический контент в таблице «pm_messages», и я бы сохранил получателей (включая исходного отправителя) в таблице «pm_recipients».
Это правильное направление или я полностью с этим? Меня беспокоит то, что сообщения действительно не удаляются, пока все получатели не удалили сообщение, что приводит к некоторой неудобной логике удаления.
В чем преимущество двух таблиц (ваш разговор и сообщение) по сравнению с одним для сообщений (мои pm_messages)? –
разговор похож на чат. Он может содержать много сообщений. – tehvan
Вы можете сделать это с моим дизайном, и это на одну таблицу меньше. Любые другие взлеты? –