【发布时间】:2013-02-08 19:19:19
【问题描述】:
我正在尝试使用这个范围来做到这一点:
>> Job.last.application_date
Job Load (0.4ms) SELECT "jobs".* FROM "jobs" ORDER BY created_at ASC LIMIT 1
=> Wed, 13 Feb 2013
>> Date.today + 5.days
=> Wed, 13 Feb 2013
>> Job.where(application_date: Date.today + 5.days)
Job Load (0.2ms) SELECT "jobs".* FROM "jobs" WHERE "jobs"."application_date" = '2013-02-13' ORDER BY created_at DESC
=> []
更新
嗯,这不起作用,可能是因为某些数据格式。
>> Job.where("application_date = ?", Date.today + 5)
Job Load (0.3ms) SELECT "jobs".* FROM "jobs" WHERE (application_date = '2013-02-13') ORDER BY created_at DESC => []
>> Job.last.application_date Job Load (0.7ms)
SELECT "jobs".* FROM "jobs" ORDER BY created_at ASC LIMIT 1 => Wed, 13 Feb 2013
# Schema jobs
# application_date :date
【问题讨论】:
-
我猜这会给出一些结果:
Job.where("application_date = ?", Job.last.application_date) -
嗯,出了点问题。 gist.github.com/regedarek/4741515
-
试试这个:
Job.where(application_date: (Date.today + 5.days).strftime)..(Date.today + 5.days).strftime #=> "2013-02-14" -
:|我还是不明白同样的问题:gist.github.com/regedarek/4741515 可能与我首先更改 application_date 使用有关:
Job.last.update_column :application_date, Date.today + 5.days?? -
你检查过数据库吗?它在存储什么?
SELECT application_date FROM "jobs";
标签: ruby-on-rails ruby ruby-on-rails-3 datetime