Система личных сообщений

215
20 ноября 2017, 21:17

Учусь делать самую простую систему сообщений, между двумя пользователями, где на сообщение можно ответить только 1 раз и это сообщение и ответ, видны у обоих пользователей.

Вот в чём вопрос: если 1 пользователь хочет удалить какое-нибудь сообщение из своего списка всех сообщений и если он его удалит, то оно пропадёт из БД и тогда у другого пользователя оно из списка тоже исчезнет.

Может в таком случае, сначала записать в бд, в какую-нибудь строку этого сообщения, то что 1 пользователь уже не хочет его отображать и записать цифру 1 и потом проверять, если эта цифра есть, то этому пользователю такое сообщение не выводить и когда уже второй пользователь захочет его удалить, то ещё в одну строку записывается цифра 1 и потом уже сравнивается, если цифра 1 есть в обеих строках, то удалить его из базы?

Answer 1

Когда-нибудь вы захотите дать поговорить более чем двоим пользователям, поэтому колонки плодить не получится.

Можно реализовать, например, вот так:

  User(id, ...)  
  Thread(id, title, ...) // разговор  
  UserThread(user_id, thread_id) // участники разговора   
  Message(id, author_id, thread_id, text, ...) // сообщения  
  UserMessage(user_id, message_id) // что видит пользователь  

Удаляете только связку пользователя с сообщением, оригинальные сообщения оставляете даже если его больше никто не видит, пригодятся.

READ ALSO
RedBeanPHP. Почему создает две записи Many to many?

RedBeanPHP. Почему создает две записи Many to many?

Код из документацииПочему при создании связей Many to many создается 2 записи? Не могу сделать взять между USER и NEWS хочу сделать общий comments между...

179
Как вывести одну русскую букву в массиве $text[1]?

Как вывести одну русскую букву в массиве $text[1]?

Если вывести весь массив то все ок, а 1 символ то получаю кракозябруКак исправить? И почему так происходит

235
Загрузка файлов

Загрузка файлов

Добрый день, Нужно сделать загрузку файлов с описанием, каждого прикреплённого файлаИ общее описание всех файлов

195
Yii1 не найден класс

Yii1 не найден класс

Есть у меня в проекте на yii1 класс ItemТак вот, недавно снес винду, переустановил заново локальный серер, и всё такое

184