我试图逐周分析历史上的一些数据。
目前正在使用
Model.where(:created_at => 3.weeks.ago..2.weeks.ago)
Model.where(:created_at => 2.weeks.ago..1.week.ago)
..etc
我想通过cweek进行分析。
有没有办法合理地做到这一点? 即
Model.where(:created_at.cweek => Date.Now.cweek)
我确定这是一种非常简单的方法。
答案 0 :(得分:3)
要查找给定年份和周内的所有记录,您可以使用:
week_range = Date.commercial(2014, 35).to_time.all_week
Model.where(created_at: week_range)
答案 1 :(得分:0)
解决这个问题:
application_helper.rb
def weeks_ago_range(number)
number.weeks.ago.all_week
end
然后
Model.where(:created_at => weeks_ago_range(1)).count
我认为上面的答案可能有更广泛的用途,并且实际上更好地回答了我原来的问题,但有了这个,我甚至不需要知道cweek。