created_at日期语法问题

时间:2015-04-27 13:31:00

标签: ruby-on-rails ruby activerecord

我有以下代码:

humans = user.humans.joins(:human_logins).where(human_logins_count: 10).group('humans.id').having('MAX(human_logins.created_at) >= ?', Date.today() - schedule.value.day)

这个问题是created_at) >= ?段,好像我的日期等于7天前,它会找到过去7天内的记录,而不是查找字面上创建的记录7天前,不是6,不是9,正是7天前。

我怎样才能使它的发现记录在7天前准确创建?我在考虑使用像("? <= created_at AND created_at <= ?", schedule.value.days.ago.beginning_of_day, schedule.value.days.ago.end_of_day)这样的东西,但我不确定在这种情况下我是如何使用它的。

2 个答案:

答案 0 :(得分:1)

这个怎么样,

.group('human_logins.created_at').having('human_logins.created_at = ?', Date.today() - 7)

答案 1 :(得分:0)

.having(created_at: schedule.value.days.ago.beginning_of_day.. schedule.value.days.ago.end_of_day )