ruby-on-rails-3 – 如何找到最高价格的记录?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 如何找到最高价格的记录?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这返回最大值,而不是完整的记录:
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.有没有人知道Rails中的AREL和非AREL内容的详细参考? ActiveRecord查询的Rails指南还不够!

(我使用的是Rails 3)

=== UPDATE ===

使用AREL我做以下:

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

但这只给出最大值,而不是完整的记录:(
还有,是否使用maximum()真AREL?

解决方法

这样的东西怎么样?
self.prices.order("price DESC").first

猜你在找的Ruby相关文章