我正在尝试通过模型方法构建一个看起来像这样的数组:
[['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
但是,它不会准确返回计数(所有值都为零)。我已经检查过关于 SO 的一些类似问题,但似乎也无法让它们工作。
有人可以帮助(1)让我知道这是否是最好的方法,并且(2)就上述代码可能存在的问题提供一些指导,如果是的话?谢谢!