Laravel 5 Query Builder: „LIKE“-Syntaxäquivalent
In Laravel 5 wird der LIKE-Operator in eloquenten Abfragen durch „whereLike“ dargestellt ()'-Methode. Einige Benutzer sind jedoch auf Schwierigkeiten bei der Verwendung der Methode „orWhereLike()“ zum Kombinieren von LIKE-Klauseln gestoßen.
MySQL-Äquivalent
Die Methode „orWhereLike()“ generiert eine MySQL-Abfrage im folgenden Format:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
Matching Ergebnisse
Der in der Frage bereitgestellte Code:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name')) ->get()
Wird mit keinem Ergebnis übereinstimmen, da in der Bedingung „Name“ die Platzhalterzeichen fehlen, die zur Angabe eines Teils erforderlich sind Übereinstimmung.
Korrekte Syntax
Um die beabsichtigte MySQL-Abfrage zu erreichen, verwenden Sie Folgendes Code:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
Dadurch wird die korrekte MySQL-Abfrage generiert:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
Das obige ist der detaillierte Inhalt vonLaravel 5 Query Builder: Wie verwende ich „orWhereLike()' korrekt mit Platzhaltern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!