Я переписываю некоторые запросы в моем приложении Rails для использования ROM.Первоначально у меня было несколько выбранных столбцов, добавленных в массив, например:
offers = Offer.arel_table
l1_select << offers[:finance_rate_cents].minimum.as("finance_rate_cents")
l1_select << "array_agg(DISTINCT CAST(offer_type AS int)) AS offer_types"
l1_select << offers[:score].maximum.as("score")
Offer.select(l1_select).group(:car_series_id, :manufacturer_name, :car_series_name, :image_public_id)
Но теперь я хочу переписать это с помощью ROM.Я сделал большую часть выбора, но не могу понять это с помощью array_agg(DISTINCT...
части.
Это мой существующий код:
select {
[
:car_series_id,
:manufacturer_name,
:car_series_name,
:image_public_id,
int::min(:finance_rate_cents).as(:finance_rate_cents),
int::max(:score).as(:score),
]
}.group(:car_series_id, :manufacturer_name, :car_series_name, :image_public_id).to_a
Как я могу использовать array_agg в select здесь