モデルメソッドを使用して、次のような配列を構築しようとしています:
[['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)上記のコードで問題が発生している可能性がある場合は、ガイダンスを提供してください。ありがとう!