Nachfolgend finden Sie einen Auszug aus der Laravel-Dokumentation:
Die whereBetween-Methode überprüft, ob der Wert einer Spalte zwischen zwei Werten liegt:
$users = DB::table('users')->whereBetween('votes', [1, 100])->get();
Aber was, wenn ich herausfinden möchte, ob ein Wert zwischen zwei Spalten in meiner Datenbank liegt?
Das ist meine rohe SQL:
%Vor% saturday_ot
und saturday_ct
sind TIME
Spalten in meiner Tabelle und $t
ist eine Zeitvariable. Also ich möchte überprüfen, ob die Zeit zwischen den Zeiten in beiden Spalten liegt.
Es gibt keine Alternative zur Methode whereBetween
, die für zwei Spalten gilt. Sie können dies jedoch auf zwei Arten tun:
1. Verwenden Sie whereRaw
mit Bindings, wobei Sie die rohe Bedingung und eine Bindung für die Variable verwenden:
2. Verwenden Sie where
mit zwei Bedingungen, die die zwei Spaltenwerte als Grenzen für den Wert $t
verwenden: