С использованием
result = Model.select(Model.table_name + '.*')
result = result.select(47 AS new_column)
result = result.where(...).order(...).limit(...) # etc.
result.to_a # gives an array of Model instances
Мне нужно получить доступ к значению new_column как к атрибуту экземпляров модели.
Я не хочу создавать в модели вычисляемый атрибут; данные должны исходить из построенного запроса. Данные столбца, не относящегося к базе данных, должны быть загружены, так как экземпляр модели раздувается #to_a
Я прочитал Включение пользовательского предложения SELECT в запрос ActiveRecord и Вернуть пользовательские столбцы в Rails ActiveRecord Query, которые выглядели связанными, но не являются.
Запрос ActiveRecord с вложенными моделями и значениями производных столбцов? , Доступ к вычисляемым столбцам SQL через ActiveRecord и Добавление вычисляемого столбца в запрос ActiveRecord выглядит так, как будто они отвечают на мой вопрос , но они, кажется, говорят, что дополнительные значения столбцов из исходного запроса автоматически присоединяются к экземпляру модели, и для их получения (или нет) просто добавляются методы доступа.
Я добавил attr_accessor
для имен новых столбцов в класс модели, но эти атрибуты, похоже, не сериализуются, когда я возвращаю их как ответ graphQL. Где я могу найти информацию о реальной механике массива AciveRecord#attributes и о том, как добавить в него столбцы, не относящиеся к базе данных?
Ваше здоровье
find_by_sql
, который поддерживает динамические/специальные атрибуты? - person Cody Caughlan   schedule 17.03.2018