我想创建一个范围,我想让所有订单自上次更新以来已超过24小时。
我想让所有这些订单循环进入它们:
Order.more_than_24_updated.find_each do |order|
#do some stuff with each order
end
我不知道如何将24小时添加到范围内的updated_at attribute
个订单中:
scope :more_than_24_updated, -> { where(status: "pago_pendiente").where('#{Time.now} >= ?', updated_at + 24.hours) }
我知道上面的内容不起作用,但是......怎么做?
答案 0 :(得分:1)
您可以尝试这样的事情:
scope :more_than_24_updated, -> {where('status = ? and updated_at <= ?', :pago_pendiente, 24.hours.ago)}
答案 1 :(得分:1)
你可以尝试这个
scope :more_than_24_updated, -> { where(status: "pago_pendiente").where("NOW() - '24 hours'::INTERVAL >= updated_at") }