Ich habe eine Rails-App mit einem Checkin
-Modell. Ich möchte alle Datensätze finden, die sich in einem bestimmten Zeitraum für den aktuellen Tag befinden. Wie würde ich eine where
schreiben, um alle Datensätze zu erhalten, die zwischen 12:00 und 16:30 erstellt wurden?
@ x1a4's Antwort sollte gut für Sie sein, aber Sie können es auf eine lesbarere und kürzere Weise tun, indem Sie einen Bereich verwenden.
%Vor%Es sollte etwas wie:
erzeugen %Vor% Sie können Time.parse("12pm")
auf eine andere Weise ändern, um eine Zeit zu erstellen.
Das sieht so aus, als würde es funktionieren, wenn man von der UTC-Zeitzone ausgeht:
%Vor% oder mit BETWEEN
:
BETWEEN
kann den zweiten Wert im Bereich enthalten oder nicht. Postgres enthält es .
Sie können den unteren Edelstein verwenden, um die Datensätze zwischen den Daten zu finden,
Dieser Edelstein ist recht einfach zu benutzen und klarer [Nach Stern] [1]. Ich benutze dieses Juwel und die API ist klarer und die Dokumentation wird auch gut erklärt.
%Vor% Hier könnten Sie unser Feld auch Post.by_month("January", field: :updated_at)
Bitte lesen Sie die Dokumentation und versuchen Sie es.
Tags und Links ruby ruby-on-rails-3 ruby-on-rails ruby-on-rails-3.1