Возвращает максимальное значение , а не полную запись:
self.prices.maximum(:price_field)
И в настоящее время я нахожу такую запись:
def maximum_price
self.prices.find(:first, :conditions => "price = #{self.prices.maximum(:price_field)}" )
end
Этоправильный путь?Потому что для этого нужно два оператора SQL, и это почему-то не так.
Ps. Кроме того, я хочу, чтобы более чем одна запись имела один и тот же «максимум»значение, то оно должно получить значение с самым последним значением updated_at
.Так что это будет означать другой оператор SQL ??
Pps. Кто-нибудь знает о хорошем или подробном справочнике для AREL и non-ARELвещи в Rails?Запроса Rails Guide для ActiveRecord просто недостаточно!
(я использую Rails 3)
=== UPDATE ===
Используя AREL, я делаю следующее:
self.prices.order("updated_at DESC").maximum(:price_field)
Но это дает только максимальное значение , а не полную запись: (
Кроме того, действительно ли использование maximum()
AREL?