Условный выбор по соответствующей записи в рельсах - PullRequest
0 голосов
/ 20 апреля 2020

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

Это то, что у меня есть

Product -> has_many: retail_units

RetailUnit -> own_to: product

Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total")
.group(:id)

Полагаю, мне нужно сделать что-то вроде

Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total, retail_units.image WHERE retail_units.position = 1")
.group(:id)

Но я не могу понять синтаксис. Спасибо

1 Ответ

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

Как-то так?

Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total")
.where(retail_units: { position: 1 } )
.includes(:retail_units)
.group(:id)

Прогулка по направляющим всегда полезна.

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