Rails Abfrage zwischen zwei Zeiten

7

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?

    
Kyle Decot 28.05.2012, 02:00
quelle

3 Antworten

37

@ 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.

    
Ismael Abreu 28.05.2012, 02:41
quelle
8

Das sieht so aus, als würde es funktionieren, wenn man von der UTC-Zeitzone ausgeht:

%Vor%

oder mit BETWEEN :

%Vor%

BETWEEN kann den zweiten Wert im Bereich enthalten oder nicht. Postgres enthält es .

    
x1a4 28.05.2012 02:11
quelle
0

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)

übergeben

Bitte lesen Sie die Dokumentation und versuchen Sie es.

    
Jenorish 05.02.2015 12:58
quelle