返回表格列今天和昨天在铁轨上的红宝石

时间:2015-01-07 00:57:09

标签: ruby-on-rails ruby postgresql time

我试图获取仅在今天,昨天和前天创建的记录。我的模型是访问者

对于今天创建的项目,我正在尝试

Visitor.where(created_at: Date.today)

然后对于昨天创建的项目,我正在尝试

Visitor.where(created_at: Date.yesterday)

但是它不起作用,因为Created_at列是时间戳的形式,而Date.today或昨天是日期格式。我怎样才能做到这一点。 而且我怎样才能获得前天创造的物品?

2 个答案:

答案 0 :(得分:1)

#Today
Visitor.where("DATE(created_at) = ?", Date.today)
#Yesterday
Visitor.where("DATE(created_at) = ?", Date.yesterday)

可替换地:

#Today
Visitor.where(created_at: Date.today...Date.today+1)
#Yesterday
Visitor.where(created_at: Date.yesterday...Date.today)

参考:How can I find records from today, yesterday and so on with Ruby on Rails?

答案 1 :(得分:1)

要在一定时间后创建访问者,例如过去2天:

Visitor.where(["created_at > ?", 2.days.ago.midnight])