【问题标题】:Activerecord combine sum and limit does not workActiverecord 结合总和和限制不起作用
【发布时间】:2014-01-31 10:45:34
【问题描述】:

使用 Rails 3.2 我尝试总结模型的某些属性,但将其限制为例如最后 10 个。为什么它总是总结所有元素。

Shop.limit(10)

给了我一个由 10 个商店组成的 ActiveRecord::Relation 对象。但是如果我这样做了

Shop.limit(10).sum(:id, :order => "created_at DESC")

我得到所有商店 ID 的总和,而不仅仅是 10。同样适用

Shop.sum(:id, :order => "created_at DESC", :limit => 10)

有没有办法只总结最后/前 10 家商店的 id?

【问题讨论】:

    标签: activerecord ruby-on-rails-3.2


    【解决方案1】:

    你可以这样做

    Shop.select("id").order("created_at desc").limit(10).collect(&:id).sum

    它将给出最后十个 id 的总和

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-30
      • 1970-01-01
      相关资源
      最近更新 更多