2013-01-23 70 views
0

鑑於此代碼:通過迭代日期範圍

def doc_chart_data(document) 
    (1.month.ago.to_date..Date.today).map do |date| { 
     date: date, 
     hits: Impression.where(:impressionable_id => document).where(:created_at => date).count 
     } 
    end 
end 

我將如何改變date在SQL查詢是整個天而不僅僅是特定的時間戳?所有日期範圍的答案都是Time.now以及所有日期範圍的答案,但我不知道如何在日期自動映射的情況下編寫日期範圍答案。

謝謝!

回答

1

嘗試:

Impression.where(:impressionable_id => document).where("YEAR(created_at) = ? && MONTH(created_at) = ? && DAY(created_at) = ?",date.year,date.month,date.day).count 
+0

偉大的作品,謝謝! –