使用ActiveRecord将SUM放在属性中

时间:2012-06-22 01:04:39

标签: ruby-on-rails activerecord

我的问题很简单:

我有一个Lot表,其中包含列:(id, product_id, quantity)

我想创建一个范围,按product_id对所有寄存器进行分组并计算sum 数量列并返回批次对象数组的结果。

我需要这个:

lots = Lot.sum_lots
lots.each do |lot|
  puts lot.product.name + " : " + lot.quantity.to_s
end

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

Lot.sum(:quantity, :group => :product_id) # will return a hash: {1 => 22, 2 => 11} 

结果是一个哈希,product_id为关键,quantity的总和为值。