Rails SQL select, похоже, не работает должным образом с оператором CASE - PullRequest
2 голосов
/ 03 марта 2020

Я пытаюсь понять, как использовать метод select в запросах для возврата пользовательских столбцов.

Я использую Rails 5.2, база данных - postgresql.

m = Message.all.select("messages.*, CASE WHEN id > 30 THEN TRUE ELSE FALSE END AS above_30")

возвращает только таблицу сообщений со всеми ее столбцами. Как мне получить столбец above_30, предпочтительно загруженный?

1 Ответ

3 голосов
/ 03 марта 2020

above_30 есть, но Rails не определит доступ к нему, потому что в вашей схеме нет столбца с таким именем.

Вы можете определить его самостоятельно или использовать m[:above_30] для доступа «необработанные» атрибуты объекта, полученные из запроса.

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