In Laravel sind Abfrageanweisungen eine der am häufigsten verwendeten Funktionen im Laravel-Framework. Aufgrund der unterschiedlichen Datenmenge und Abfrageanforderungen stoßen wir häufig auf Situationen, in denen wir Datensätze zwischen zwei Daten abfragen müssen. Obwohl der vom Laravel-Framework bereitgestellte Abfrage-Builder sehr leistungsfähig ist, werden wir beim Schreiben von Abfrageanweisungen auf einige Probleme stoßen, wenn wir seine clevere Verwendung nicht beherrschen. In diesem Artikel wird erläutert, wie Datensätze zwischen zwei Daten in Laravel abgefragt werden.
Zunächst sollte klar sein, dass Sie in Laravel Datensätze zwischen zwei Datumsangaben über die Methode whereBetween() des Abfrage-Builders finden können. Die Methode whereBetween() akzeptiert zwei Parameter, nämlich den Feldnamen und ein Array. Darunter repräsentieren zwei Elemente des Arrays zwei Datumsangaben.
Wenn Sie beispielsweise die Benutzertabelle nach Benutzern abfragen, deren Registrierungsdatum in einem bestimmten Zeitraum liegt, können Sie den folgenden Code verwenden:
$users = DB::table('users') ->whereBetween('created_at', ['2021-06-01', '2021-06-30']) ->get();
Der obige Code gibt die Benutzerinformationen von regist_date im Juni 2021 zurück. Unter diesen ist „created_at“ ein Datumsfeld in der Benutzertabelle, und die Methode „whereBetween()“ gibt den Wertebereich dieses Felds an. Die Methode get() wird zum Abrufen von Abfrageergebnissen verwendet und gibt ein Collection-Objekt zurück, das die Abfrageergebnisse enthält.
Zusätzlich zur Methode whereBetween() können wir auch die Methode whereDate() verwenden, um die Datensätze eines bestimmten Tages abzufragen. Wenn Sie beispielsweise die Benutzertabelle nach Benutzern abfragen, deren Registrierungsdatum ein bestimmter Tag ist, können Sie den folgenden Code verwenden:
$users = DB::table('users') ->whereDate('created_at', '2021-06-01') ->get();
Der obige Code gibt Benutzerinformationen zurück, wobei das Registrierungsdatum dem 1. Juni 2021 entspricht. Die Methode whereDate() gibt den Datensatz mit dem Wert des Felds „created_at“ als 1. Juni 2021 an. Die Methode get() wird auch verwendet, um Abfrageergebnisse zu erhalten.
Neben der Methode whereBetween() und der Methode whereDate() stellt Laravel auch einige andere Methoden zur Abfrage von Datumsangaben zur Verfügung. Zu diesen Methoden gehören whereDay(), whereMonth(), whereYear(), whereTime(), whereHour() usw. Mit diesen Methoden werden Informationen zu einem bestimmten Tag, Monat, Jahr, einer bestimmten Uhrzeit usw. abgefragt. Die Verwendungsmethode ähnelt der Methode whereBetween() und der Methode whereDate(), daher werde ich hier nicht auf Details eingehen.
Es ist zu beachten, dass die Datumsabfragemethode im Abfrage-Builder von Laravel standardmäßig UTC-Zeit und nicht die Ortszeit verwendet. Dies bedeutet, dass die Abfrage unabhängig von der Ortszeit in UTC-Zeit berechnet wird. Daher müssen Sie bei der Durchführung von Datumsabfragen sicherstellen, dass die übergebenen Datumsparameter mit der UTC-Zeit übereinstimmen.
Um in praktischen Anwendungen Abfragefehler aufgrund von Zeitzonenproblemen zu vermeiden, geben wir die Zeitzone normalerweise vor der Abfrage oder in der Konfigurationsdatei an. Laravel bietet eine Möglichkeit, die Zeitzone global zu konfigurieren, d. h. die Zeitzone in der Datei config/app.php festzulegen.
In Laravel lautet die Methode zum Konvertieren der Zeit in UTC-Zeit wie folgt:
$date = new Carbon('2021-06-01 12:00:00', 'Asia/Shanghai'); $utcDate = $date->utc();
Der obige Code konvertiert die Ortszeit „2021-06-01 12:00:00“ in UTC-Zeit und weist sie der Variablen $utcDate zu . Carbon ist eine in Laravel integrierte Datums- und Zeitverarbeitungsklasse, die sehr bequem zu verwenden ist. Diese Klasse bietet eine Vielzahl von Zeitkonvertierungsmethoden, um den Anforderungen verschiedener Szenarien problemlos gerecht zu werden.
Zusammenfassend stellt dieser Artikel vor, wie Datensätze zwischen zwei Daten in Laravel abgefragt werden. Wenn Sie den Abfrage-Generator zum Durchführen von Datumsabfragen verwenden, müssen Sie auf die Zeitzoneneinstellung achten und darauf, ob die übergebenen Datumsparameter mit der UTC-Zeit übereinstimmen. Der flexible Einsatz des Abfrage-Builders kann unsere Entwicklung prägnanter und effizienter machen.
Das obige ist der detaillierte Inhalt vonLaravel-Abfrage zwischen den beiden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!