为了账号安全,请及时绑定邮箱和手机立即绑定

Rails ActiveRecord之间的日期

Rails ActiveRecord之间的日期

一只名叫tom的猫 2019-08-26 14:05:32
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
  }


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 679 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信