Rails的新手,但是我找不到此功能!
说您有一组发票,其中包括ID,公司名称和发票总额。由于某些原因,存在多个具有相同名称的公司。您要创建一个1xn矩阵,其中每行包含具有唯一公司名称的公司数据。
如何将具有相同名称的公司分组在一起,并将其发票总额相加。您不必关心将哪个ID保存到该行。是使用Group + Map的唯一方法吗?
例如
[1523, 'Red Roses Inc', 1300.00],
[4126, 'Blue Birds LLC', 110.00],
[846, 'Red Roses Inc', 400.00],
成为
[1523, 'Red Roses Inc', 1700.00],
[846, 'Blue Birds LLC', 110.00],
答案 0 :(得分:3)
例如,如果公司和发票在一个表中,则您的模型是发票
Invoice.group(:company_name).sum(:total)
# sample implementation how to get data and print the result
data_result = Invoice.group(:company_name).sum(:total)
data_result.each do |v|
puts "company #{v[0]} total number #{v[1]}"
end
# this will print
# company Red Roses Inc total number 1700
# company Blue Birds LLC total number 110