Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führt man im Eloquent ORM von Laravel 5 eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung mit LIKE durch?

Wie führt man im Eloquent ORM von Laravel 5 eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung mit LIKE durch?

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 07:13:28222Durchsuche

How to Perform Case-Insensitive Searches with LIKE in Laravel 5's Eloquent ORM?

Laravel-5 „LIKE“-Äquivalent (Eloquent)

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!

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