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

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

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

16 ответов

20 просмотров

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

Прикол младший 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 уже есть у всех сообщений, то вариант с телегой подходит лучше, Я же не знал что у него это поле обязательное, поэтому предложил сделать, как сделал бы сам, добавить поле с получателем. И тогда исчезает ненужная сущность чата из личных сообщений

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта