加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:20:41 所属栏目:百科 来源:网络整理
导读:这返回最大值,而不是完整的记录: self.prices.maximum(:price_field) 目前,我发现这样的记录: def maximum_price self.prices.find(:first,:conditions = "price = #{self.prices.maximum(:price_field)}" )end 这是正确的方法吗?因为上述需要两个SQL语句
这返回最大值,而不是完整的记录:
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读