Heim >Backend-Entwicklung >PHP-Tutorial >Wie führt man im Eloquent ORM von Laravel 5 eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung mit LIKE durch?
Bei der Suche nach Datenbankeinträgen mit dem Eloquent ORM von Laravel 5 kann die where-Methode mit dem LIKE-Operator verwendet werden Führen Sie Vergleiche ohne Berücksichtigung der Groß- und Kleinschreibung durch. Allerdings unterscheidet sich die Syntax für diesen Operator in Laravel von der Standard-SQL-LIKE-Syntax.
Frage:
Ein Entwickler versucht, die folgende Abfrage mit Eloquent von Laravel 5 auszuführen ORM:
BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
Es werden jedoch keine Ergebnisse zurückgegeben. Der Entwickler ist sich nicht sicher, warum die orWhereLike-Klausel keine Ergebnisse liefert.
Antwort:
Die orWhereLike-Syntax akzeptiert zwei Argumente: den zu durchsuchenden Spaltennamen und die Suche Begriff. In diesem Fall wird die Namensspalte nach einem Wert durchsucht, der die durch Input::get('name') angegebene Benutzereingabe enthält.
Der bereitgestellte Code verwendet jedoch die orWhere-Methode, nicht die orWhereLike-Methode . Um eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung mit LIKE durchzuführen, lautet die korrekte Syntax:
orWhere('name', 'like', '%' . Input::get('name') . '%')
Dieser Code erzeugt die folgende MySQL-Anweisung:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%John%'
Unter Verwendung der Prozentzeichen (%) Im Suchbegriff findet die Abfrage alle Datensätze, bei denen die Namensspalte die angegebene Zeichenfolge enthält, unabhängig von ihrer Position innerhalb des Spaltenwerts.
Das obige ist der detaillierte Inhalt vonWie führt man im Eloquent ORM von Laravel 5 eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung mit LIKE durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!