我需要在查询中添加日期比较。
字段为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)
知道要怎么做吗?
答案 0 :(得分:2)
尝试:
tab.project.active.where("delivery_date <= ?", Date.today)
或
tab.project.active.where("delivery_date <= :date", date: Date.today)
在两种情况下,我们都使用Date.today
返回(惊奇地是:-)今天的日期。我们使用两种向查询中添加参数的方法-
?
被下一个where
自变量(在本例中为Date.today
)date: Date.today
)替换符号