Heim >Datenbank >MySQL-Tutorial >Wie frage ich in Laravel nach Datensätzen innerhalb eines Datumsbereichs?
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!