Heim  >  Artikel  >  Datenbank  >  Wie frage ich in Laravel nach Datensätzen innerhalb eines Datumsbereichs?

Wie frage ich in Laravel nach Datensätzen innerhalb eines Datumsbereichs?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 21:34:29956Durchsuche

How to Query for Records Within a Date Range in Laravel?

Laravel fragt Daten zwischen einem Datumsbereich ab

In Laravel können Sie die Methode whereBetween verwenden, um ein Modell nach Datensätzen abzufragen, in denen ein Datum oder ein Datum liegt Die datetime-Spalte liegt innerhalb eines angegebenen Bereichs. Dies ist nützlich für Aufgaben wie das Abrufen von Datensätzen, die innerhalb eines bestimmten Zeitraums ablaufen oder erneuert werden sollen.

Ursprüngliche Frage:

Der Autor suchte zunächst nach einer Abfrage zur Auswahl fälliger Projekte in den nächsten 7 Tagen wiederkehren oder erneuern, wobei die Methode where verwendet wird, um nach Daten zu suchen, die größer als ein bestimmter Zeitstempel sind.

Gelöste Lösung:

Der Autor hat es jedoch herausgefunden dass sie Daten abfragen mussten, die größer als das aktuelle Datum minus 7 Tage waren. Dies wurde mit der whereBetween-Methode wie folgt erreicht:

<code class="php">$projects = Project::whereBetween('recur_at', [
    Carbon::now(),
    Carbon::now()->addWeek()
])
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();</code>

Verbesserte Abfrage:

Die zweite Lösung wurde verbessert, indem die Where-Methode verwendet wurde, um die Bedingungen direkt zu verketten:

<code class="php">$projects = Project::where('recur_at', '<=', Carbon::now()->addWeek())
->where('recur_at', '!=', "0000-00-00 00:00:00")
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();</code>

Dies vereinfachte die Abfrage und machte die Funktionssyntax (q) überflüssig.

Das obige ist der detaillierte Inhalt vonWie frage ich in Laravel nach Datensätzen innerhalb eines Datumsbereichs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn