Return table 今天和昨天在 ruby 上完成的专栏 rails

Return table columns done today and yesterday in ruby on rails

我想获取只有今天、昨天和前天创建的记录。我的模型是 访客

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

Visitor.where(created_at: Date.today)

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

Visitor.where(created_at: Date.yesterday)

但是它不起作用,因为 Created_at 列是时间戳的形式,而 Date.today 或昨天是日期格式。我怎样才能使这项工作。 以及如何获取前天创建的物品?

#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?

要在特定时间(例如过去 2 天)后创建访问者:

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