总结Ruby on Rails中表中的条目数量

时间:2017-03-22 14:53:45

标签: mysql ruby-on-rails ruby activerecord

我有一张看起来像这样的表

enter image description here

我想显示某个代理商的条目数量。我知道我可以使用例如。

orders.sum(:demand)

总结需求。 (表称为订单)但是,有必要总结一下条目吗?例如。对于代理1,这将是4,对于代理2,它将是1,对于代理3,它将是4个条目(如在屏幕截图中可以看到的)。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

如果我理解正确,您需要的是:agent_id的条目数量,这应该有效:

Order.group(:agent_id).count

结果是

  

=> {1 => 4,2 => 2,3 => 3}

编辑:

如果您需要的是 current_user 的计数:

Order.where(agent_id: @current_user).count

因此,如果 current_user 是' 1',您会得到:

  

=> 4

答案 1 :(得分:1)

假设通过'确定',您正在向控制器发送某种请求,指定您要查询的代理...

Order.where(agent_id: params[:agent_id]).count

答案 2 :(得分:1)

使用activerecord,您可以使用count方法计算结果。

Order.count # => 9

使用group方法,您可以按其他列对结果进行分组。

Order.group(:agent_id) # => #<ActiveRecord::Relation [ ... ] > 

您可以一起获得所需的结果:

Order.group(:agent_id).count # => {1: 4, 2: 2, 3: 3}