Rails ActiveRecord之间的日期我需要查询一天内发表的评论。该字段是标准时间戳的一部分,是created_at。所选日期来自a date_select。我ActiveRecord该怎么用呢?我需要这样的东西:"SELECT * FROM comments WHERE created_at BETWEEN '2010-02-03 00:00:00' AND '2010-02-03 23:59:59'"
3 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
我估计应该有一个默认的活动记录行为。查询日期很难,特别是涉及时区时。
无论如何,我使用:
scope :between, ->(start_date=nil, end_date=nil) { if start_date && end_date where("#{self.table_name}.created_at BETWEEN :start AND :end", start: start_date.beginning_of_day, end: end_date.end_of_day) elsif start_date where("#{self.table_name}.created_at >= ?", start_date.beginning_of_day) elsif end_date where("#{self.table_name}.created_at <= ?", end_date.end_of_day) else all end }
- 3 回答
- 0 关注
- 711 浏览
添加回答
举报
0/150
提交
取消