2011-02-17 25 views
0

如何创建一个数组,用于累计日期中获得的列。Rails - 如何创建总计列的高级数组?

所以会输出如下:

[<sum of 'earn' where dato=2011-02-14>, <sum of 'earn' where dato=2011-02-15>] 

以及如何创建一个pointstart,即找到的最后日期。

我的表

id virksomhed dato     earn  
9 Euroads  2011-02-15 00:00:00  4 
10 Euroads  2011-02-15 00:00:00  4 
11 Iqmedier 2011-02-15 00:00:00  2 
12 Iqmedier 2011-02-15 00:00:00  3 
12 Iqmedier 2011-02-14 00:00:00  3 

{ 
     name: "Indtjening", 
     pointInterval: <%= 1.day * 1000 %>, 
     pointStart: How to create point start, 
     data: 
     }, 
     { 
     name: "Iqmedier", 
     color: '#DBD200', 
     pointInterval: <%= 1.day * 1000 %>, 
     pointStart: How to create point start, 
     data: <%= Reklamer.where(:virksomhed => 'Iqmedier').all.map(&:earn) %> 
     } 
     , 
     { 
     name: "Euroads", 
     color: '#1B7B94', 
     pointInterval: <%= 1.day.to_i * 1000 %>, 
     pointStart: How to create point start, 
     data: <%= Reklamer.where(:virksomhed => 'Euroads').all.map(&:earn) %> 
     } 
+0

对于其他人盯着此,相信结果阵列是有效`[<总和 '挣',其中达托= 2011-02-14>, ]` – Chowlett 2011-02-17 12:14:12

+0

取而代之的是一个数组,它似乎更好的是一对数组对的散列。即使有必要,也可以进行一定的订购 – tokland 2011-02-17 12:45:26

+0

它应该是一个数组或图表不会工作。我如何选择最后的日期?需要它指向 – 2011-02-17 12:52:25

回答

0
Reklamer.sum(:earn, :group => :dato) 
#<OrderedHash { 2011-02-14 00:00:00 => 3, 2011-02-15 00:00:00 => 13}> 
0
Model.find(:all, :select => 'sum(earn) AS earn', :group => 'dato').map(&:earn)