我有一张看起来像这样的表
我想显示某个代理商的条目数量。我知道我可以使用例如。
orders.sum(:demand)
总结需求。 (表称为订单)但是,有必要总结一下条目吗?例如。对于代理1,这将是4,对于代理2,它将是1,对于代理3,它将是4个条目(如在屏幕截图中可以看到的)。
有什么想法吗?
答案 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}