Heim >Datenbank >MySQL-Tutorial >Laravel 5 Query Builder: Wie verwende ich „orWhereLike()' korrekt mit Platzhaltern?

Laravel 5 Query Builder: Wie verwende ich „orWhereLike()' korrekt mit Platzhaltern?

Susan Sarandon
Susan SarandonOriginal
2024-11-28 06:07:10777Durchsuche

Laravel 5 Query Builder: How to Correctly Use `orWhereLike()` with Wildcards?

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!

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