Как найти запись с максимальной ценой?

Это возвращает значение maxium , а не полную запись:

self.prices.maximum(:price_field)

И в настоящее время я нахожу запись вроде этот:

def maximum_price
  self.prices.find(:first, :conditions => "price = #{self.prices.maximum(:price_field)}" )
end

Это правильный путь? Потому что для работы приведенного выше требуются два оператора SQL, и это почему-то кажется неправильным.

Пс. Кроме того, я хочу, чтобы, если более чем одна запись имеет одно и то же «максимальное» значение, тогда она должна получить запись с последним значением updated_at . Значит, это будет означать еще один оператор SQL ??

Pps. Кто-нибудь знает о хороших или подробных справочниках для AREL и не-AREL вещей в Rails? Руководства Rails для запросов ActiveRecord просто недостаточно!

(Я использую Rails 3)

=== UPDATE ===

Используя AREL, я делаю следующее:

self.prices.order("updated_at DESC").maximum(:price_field)

Но это дает только максимальное значение , а не полная запись: (

Пс. Кроме того, я хочу, чтобы, если более чем одна запись имеет одно и то же «максимальное» значение, она должна получить запись с последним значением updated_at . Значит, это будет означать еще один оператор SQL ??

Pps. Кто-нибудь знает о хороших или подробных справочниках для AREL и не-AREL вещей в Rails? Руководства по Rails для запросов ActiveRecord просто недостаточно!

(я использую Rails 3)

=== UPDATE ===

Используя AREL, я делаю следующее:

self.prices.order("updated_at DESC").maximum(:price_field)

Но это дает только максимальное значение , а не полная запись: (

Пс. Кроме того, я хочу, чтобы, если более чем одна запись имеет одно и то же «максимальное» значение, она должна получить запись с последним значением updated_at . Значит, это будет означать еще один оператор SQL ??

Pps. Кто-нибудь знает о хороших или подробных справочниках для AREL и не-AREL вещей в Rails? Руководства по Rails для запросов ActiveRecord просто недостаточно!

(я использую Rails 3)

=== UPDATE ===

Используя AREL, я делаю следующее:

self.prices.order("updated_at DESC").maximum(:price_field)

Но это дает только максимальное значение , а не полная запись: (
Значит, это будет означать еще один оператор SQL ??

Pps. Кто-нибудь знает о хороших или подробных справочниках для AREL и не-AREL вещей в Rails? Руководства Rails для запросов ActiveRecord просто недостаточно!

(Я использую Rails 3)

=== UPDATE ===

Используя AREL, я делаю следующее:

self.prices.order("updated_at DESC").maximum(:price_field)

Но это дает только максимальное значение , а не полная запись: (
Значит, это будет означать еще один оператор SQL ??

Pps. Кто-нибудь знает о хороших или подробных справочниках для AREL и других вещей в Rails? Руководства по Rails для запросов ActiveRecord просто недостаточно!

(я использую Rails 3)

=== UPDATE ===

Используя AREL, я делаю следующее:

self.prices.order("updated_at DESC").maximum(:price_field)

Но это дает только максимальное значение , а не полная запись: (
Кроме того, действительно ли использование maximum () AREL?

19
задан gravitystorm 14 February 2012 в 21:34
поделиться