Как группировать связанные результаты в рельсах включает - PullRequest
0 голосов
/ 27 апреля 2020

app / models / car_make.rb

has_many :car_models

app / models / car_model.rb

belongs_to :car_make

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

 makes = CarMake.includes(:car_models).group('car_models.name')

, но выдает ошибку Unknown column car_models.name

1 Ответ

0 голосов
/ 27 апреля 2020

.includes загружает записи в двух запросах. Поэтому, чтобы сгруппировать объединенную таблицу, вам нужно сослаться на нее, чтобы вызвать запрос на объединение:

makes = CarMake.includes(:car_models)
               .references(:car_models)
               .group('car_models.name')
...