У меня есть модель, которая содержит предметы для продажи. Модель зеркалирует API, поэтому я не могу изменить ее структуру.ActiveRecord sum
В этой модели у меня есть поля price
и sold_quantity
.
Неправильно перебирать запрос с помощью цикла.
current_user.items.each do |item|
total += item.price * item.sold_quantity
end
Есть ли способ, чтобы получить тот же итог, используя только ActiveRecord? Как .sum(:price)
, но умножение на sold_quantity
?
Только что нашел лучший способ, чем уродливая петля, но он по-прежнему выполняет итерации по результатам. В этом разделе http://stackoverflow.com/questions/25274845/rails-4-sum-by-model-method Я нашел способ суммирования методом экземпляра модели '@ items.to_a.sum (&: sold_value)' – goo