条件中日期时间的比较

时间:2018-11-16 08:10:57

标签: ruby-on-rails ruby

我需要在查询中添加日期比较。

字段为column delivery_date timestamp without time zone

条件应为交货日期<=今天。

我尝试过:

"delivery_date < ?", Date.today 

 delivery_date.lt(Date.today)

"delivery_date" <= time.now [Error : NameError - undefined local variable or method `time' for ]

"delivery_date" <= Time.now [Error  : ArgumentError - comparison of String with DateTime failed: ]

但是我所有人都遇到了不同的错误。

这是我需要添加条件的查询:

datas: tab.project
          .active
          .where("delivery_date" <= date.today, step_id: Step::OPENED, test: {typess: type})
          .joins(:test, :account)
          .group(:'account.name')
          .order('count(tab.id) DESC')
          .count(:id)

知道要怎么做吗?

1 个答案:

答案 0 :(得分:2)

尝试:

tab.project.active.where("delivery_date <= ?", Date.today)

tab.project.active.where("delivery_date <= :date", date: Date.today)

在两种情况下,我们都使用Date.today返回(惊奇地是:-)今天的日期。我们使用两种向查询中添加参数的方法-