172 похожих чатов

Несколько дней голову ломаю, стоит ли создавать для личных сообщений

отдельную модель чатов или достаточно добавить поле в чаты с булевым значением is_direct?

16 ответов

9 просмотров

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

Прикол младший love();
ну у меня есть модель пользователя и чата, две раз...

Ну личные сообщения от чатовских по идее отличаются тем что у чатовских есть chat_id, а у личных есть id получателя сообщения. И никаких дополнительных булевых не надо. Можете сразу добавить message_id, типа сообщение в ответ на это сообщение. И все у вас и в чате и в личных сообщениях можно делать ответы на конкретные сообщения

Прикол младший love();
у чатовских и личных есть chat.id и from.id from э...

Если у всех сообщений есть chat.id, тогда признак в модели chat, что он личный

Константин Коломейцев ☭
Ну личные сообщения от чатовских по идее отличаютс...

как потом выборки делать из одной кучи по сложному условию?

Константин Коломейцев ☭
Можно конкретнее, что за сложное условие?

правильнее было бы сказать "косвенное" условие, как например отсутствие какого-либо значения

maxp.dev
правильнее было бы сказать "косвенное" условие, ка...

Выглядит как пример с потолка. У человека есть чаты и сообщения. Зачем ему искать отсутствие какого либо значения. Нужны поиск по сообщениям конкретного юзера в конкретном чате или с корректным человеком. Индекс по отправителю, получателю и чату

Константин Коломейцев ☭
Выглядит как пример с потолка. У человека есть чат...

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

Константин Коломейцев ☭
Выглядит как пример с потолка. У человека есть чат...

"Индекс по отправителю, получателю и чату" составной?)

maxp.dev
чел спрашивал изначально как лучше сделать. вот по...

Ну так Я тоже из опыта говорю и выше пример из телеги прислали, где примерно то же самое. Явные признаки нужны, когда нет косвенных и потом будут проблемы когда явные признаки начнут конфликтовать с косвенными

maxp.dev
в примере из телеги явно указан тип чата - private

Потому что личные сообщения приходят в личном чате, там этот признак скорее всего для того, чтобы показать что этот чат можно или нельзя найти в поиске и можно ли в него вступить, а не признак того что это чат между 2-мя людьми. Я бы не стал для личных сообщений делать отдельный чат, потому что при каком нибудь сбое заполучив чат ид можно будет в личные переписки других людей заломиться как в паблик. Это не явный признак, что это чат между двумя людьми. Скорее всего так ещё сделано, чтобы можно было в личные переписки добавлять всякие штуки, которые и в обычных общих чатах используются. То есть это особенности именно телеги

Константин Коломейцев ☭
Потому что личные сообщения приходят в личном чате...

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

maxp.dev
в схеме признак как раз того, что это приватный ча...

Так вот именно, приватный чат, а человек выше интересовался личными сообщениями, меду 2 людьми, а не приватными чатами. А раз у него chat.id уже есть у всех сообщений, то вариант с телегой подходит лучше, Я же не знал что у него это поле обязательное, поэтому предложил сделать, как сделал бы сам, добавить поле с получателем. И тогда исчезает ненужная сущность чата из личных сообщений

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
объясните, я прада не понимаю. зачем в перле нужен аниивент? кому он пригодился в действительно нагруженных проектах?
nerv
30
Никто случаем не знает, как по-хорошему делается дозапись текста в edit на винапи?
The Bird of Hermes
25
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
А какие у этого try практические плюсы перед eval?
Oleg Volkov
41
Составить программу для подсчета числа нулевых символов с использованием команд управления циклом loop. Мы проходили TASM, если вдруг нужно будет. Если никто не хочет помогать...
Гарри Поттер
10
Ребзя, а кто-нибудь делал на сайте Турбо Страницы Яндекса? Какую-то пользу они дают или нет? Приносят ли трафик?
Андрей [aharito] Харитонов
20
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Hi, I installed mysql 8 like this: wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.11-1_all.deb sudo dpkg -i mysql-apt-config_0.8.11-1_all.deb sudo apt-get install mysq...
Liran
1
Карта сайта