我想建立一个数组,通过模型的方法是这样的:的Rails 3计数记录的日期
[['3/25/13', 2], ['3/26/13', 1], ['3/27/13', 2]]
其中,日期是字符串,在他们之后的数字是一个企业的count
表/对象。
我有以下的模型方法现在:
def self.weekly_count_array
counts = count(group: "date(#{table_name}.created_at)", conditions: { created_at: 1.month.ago.to_date..Date.today }, order: "date(#{table_name}.created_at) DESC")
(1.week.ago.to_date).upto(Date.today) do |x|
counts[x.to_s] ||= 0
end
counts.sort
end
但是,它不能准确地返回计数(所有值都为零)。在我看来,似乎有一些类似的问题,但似乎无法让他们工作。
有人可以帮(1)让我知道这是做的最好的方法,和(2)提供的问题可能与上面的代码是什么方面的一些指导,如果是这样?谢谢!
你得到什么的'counts'变量在方法?该查询是否按照您期望的那样返回值? – 2013-03-27 18:01:04
我正在尝试总计特定日期的记录数。不,“计数”似乎是突破的部分。 – Justin 2013-03-27 18:10:45
对不起,误解了这个问题。上面的方法根据格式返回适当的数组,但对于所有对象计数都具有0,即使对象存在几天。 – Justin 2013-03-27 18:29:48