Учусь делать самую простую систему сообщений, между двумя пользователями, где на сообщение можно ответить только 1 раз и это сообщение и ответ, видны у обоих пользователей.
Вот в чём вопрос: если 1 пользователь хочет удалить какое-нибудь сообщение из своего списка всех сообщений и если он его удалит, то оно пропадёт из БД и тогда у другого пользователя оно из списка тоже исчезнет.
Может в таком случае, сначала записать в бд, в какую-нибудь строку этого сообщения, то что 1 пользователь уже не хочет его отображать и записать цифру 1 и потом проверять, если эта цифра есть, то этому пользователю такое сообщение не выводить и когда уже второй пользователь захочет его удалить, то ещё в одну строку записывается цифра 1 и потом уже сравнивается, если цифра 1 есть в обеих строках, то удалить его из базы?
Когда-нибудь вы захотите дать поговорить более чем двоим пользователям, поэтому колонки плодить не получится.
Можно реализовать, например, вот так:
User(id, ...)
Thread(id, title, ...) // разговор
UserThread(user_id, thread_id) // участники разговора
Message(id, author_id, thread_id, text, ...) // сообщения
UserMessage(user_id, message_id) // что видит пользователь
Удаляете только связку пользователя с сообщением, оригинальные сообщения оставляете даже если его больше никто не видит, пригодятся.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Код из документацииПочему при создании связей Many to many создается 2 записи? Не могу сделать взять между USER и NEWS хочу сделать общий comments между...
Если вывести весь массив то все ок, а 1 символ то получаю кракозябруКак исправить? И почему так происходит
Добрый день, Нужно сделать загрузку файлов с описанием, каждого прикреплённого файлаИ общее описание всех файлов
Есть у меня в проекте на yii1 класс ItemТак вот, недавно снес винду, переустановил заново локальный серер, и всё такое