迭代日期范围

时间:2013-01-23 03:05:55

标签: sql ruby-on-rails-3 datetime

鉴于此代码:

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

如何将SQL查询中的date更改为整个日而不仅仅是特定时间戳?所有的日期范围答案都是Time.now和所有,但我真的不知道如何在日期自动映射的情况下写一个。

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试:

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