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

Вот у вас есть запрос списка Сущностей с фильтрацией: /entities?fieldA=123 Но у

вас там сложный запрос в БД с JOIN и прочей лабудой. И там на самом деле ни разу не fieldA, а на самом деле там fieldMyBitchA, а к тому же еще и алиас таблицы нужен, то есть реальный фильтр в секции Where должен быть t.fieldMyBitchA.

Вопрос: где вы это делаете? ну то есть на каком этапе у вас fieldA превращается в t.fieldMyBitchA.

Только просьба, не теоритизировать на этот счет, а по факту, кто такое реализовывал, как вы это делали.

9 ответов

17 просмотров
Artur-Karapetov Автор вопроса

вот где я точно не согласен) точно не согласен что это делается на уровне логики

В репе

Artur-Karapetov Автор вопроса
Nikita
В репе

а в логике вы оперируете этими полями?

Artur Karapetov
вот где я точно не согласен) точно не согласен что...

даже если ты сделаешь супер тупые методы в репе даймнеВсехКтоПохожНаПетю даймнеВсехКтоПохожНаВалю ... все равно тебе нужно будет маппить запрос в бд

Ну у меня есть просто некая сущность "фильтр", которая выглядит примерно вот так https://github.com/dimuska139/rawg-sdk-go/blob/master/filters.go (это пример не про API, но по смыслу годится). Там есть метод, который заполняет этот фильтр значениями из реквеста (что-то вроде NewFromUrl, например). Этот фильтр я пробрасываю до репозитория, а там делаю if filter.ID != nil {...} и запрос строю через Squirrel. Но явного маппинга полей из URL в названия колонок таблиц я не делаю - только через ifаки всё

Artur-Karapetov Автор вопроса
Dmitriy Sviridov
Ну у меня есть просто некая сущность "фильтр", кот...

ну вот теперь вопрос: у тебя в запросе должно быть красивое ?name=123 а в бд должен улететь where bitch_field_name = 123 на каком этапе name превращается в bitch_field_name ?

Artur Karapetov
ну вот теперь вопрос: у тебя в запросе должно быть...

if filter.Name != nil { qb = qb.Where("user.bitch_field_name = ?", *filter.Name) }

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта