我需要过滤两个月前从今天的日期(今天的日期必须是动态的,而不是固定的)创建的所有用户。但是活动记录并不完全理解我想要什么。我提出这个问题:
range_expired = ((2.months.ago).end_of_day)..((Date.today).end_of_day) current_status = StudentStatusChange.where(created_at < range_expired)
8oomwypt1#
如果您需要从2个月前(不包括)到今天的日期(包括)的所有记录,您可以使用这样的东西
range_expired = 2.months.ago.end_of_day..Date.today.end_of_day StudentStatusChange.where(created_at: range_expired)
其他变体:
# works in ruby >= 2.6 range_expired = 2.months.ago.end_of_day.. StudentStatusChange.where(created_at: range_expired)
StudentStatusChange.where("created_at > ?", 2.months.ago.end_of_day) StudentStatusChange.where("created_at > :two_months_ago", two_months_ago: 2.months.ago.end_of_day)
gudnpqoy2#
这里有一个解决您的问题的一行解决方案:
StudentStatusChange.where(created_at: Date.today - 2.months..Date.today)
Above Query将返回在过去两个月内创建的StudentStatusChange对象的结果。
2条答案
按热度按时间8oomwypt1#
如果您需要从2个月前(不包括)到今天的日期(包括)的所有记录,您可以使用这样的东西
其他变体:
gudnpqoy2#
这里有一个解决您的问题的一行解决方案:
Above Query将返回在过去两个月内创建的StudentStatusChange对象的结果。