簡體   English   中英

ActiveRecord:在created_at之后檢索updated_at為24小時或更長時間的所有記錄

[英]ActiveRecord: Retrieve all records where updated_at is 24 hours or more after created_at

我嘗試使用ActiveRecord和Postgres數據庫查找在創建( created_at )后至少24小時或更長時間內更新( updated_at )的所有記錄。

知道怎么做到這一點?

您可以通過直接使用hours檢查條件來提供更明確的條件,

Model.where("updated_at >= created_at + interval '24' hour")

返回查詢,

SELECT模型.* FROM模型WHERE (updated_at >= (created_at + interval '22' hour))

檢查此查詢及其對我的模型的工作正常,希望也適合你,

你可以為此寫一個范圍

scope :scope_name , -> () { where("updated_at::date > created_at::date") } 

您可以嘗試使用以下查詢

Model.where("updated_at > (Date(created_at) + integer '1')")

這是參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM