2016-08-04 40 views

Antwort

3

Sie können eine explizitere Bedingung geben, indem die Bedingung überprüft unmittelbar die hours verwenden,

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

gibt die Abfrage,

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

Auf diese Abfrage und ihre Arbeit gut für meine Modelle, auch für Sie Hoffnung Werke,

+1

Das ist richtig. –

0

können Sie einen Bereich schreiben für dieses

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

Wo im Code' mindestens einen Tag nach seiner Erstellung'? :) –

+0

Dude ich habe das Größer-als-Zeichen verwendet, also wird das Datum nur größer sein, wenn es einen Tag nach erstellt wurde. Ich hoffe es macht Sinn. Danke –

+0

Warum liefern beide Abfragen unterschiedliche Ergebnisse? – Martin

0

Sie mithilfe folgende Abfrage

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

Hier versuchen kann, ist reference