Есть модель : Комната - у нее есть массив сообщений и массив участников. Нужно, чтобы в комнате было поле, с кол-вом новых сообщений для каждого юзера.
Как такое правильно можно организовать?
Пока есть идея, связывать каждое сообщений с участником и отмечать прочитал участник сообщение или нет? Но будет слишком много связей. Может быть кто-то уже решал подобную задачу и подскажет оптимальное решение?
Если сообщения читаются последовательно, то можно хранить для каждого пользователя ид последнего прочитанного сообщения. Все что с большим ид — считать не прочитанным.
Спасибо! Пока воспользовался вашим решением. А что если сообщения будут читаться не последовательно? Как например данные функционал работает в диалогах в вк? Там сразу приходит объект диалога и у него есть поле, кол-во непрочитанных сообщений? Тогда тут будет нужна свзять с сообщениями для всех юзеров?
Nick93: хм, честно говоря не пробовал, а что, через апи можно прочитать последнее сообщение не читаю предыдущее, и оно отметится как прочитанное, а те что до него нет? Чет не верится