Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erreicht man eine teilweise Übereinstimmung mit „orWhereLike“ in Laravel-5 Eloquent?

Wie erreicht man eine teilweise Übereinstimmung mit „orWhereLike“ in Laravel-5 Eloquent?

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 10:59:02613Durchsuche

How to Achieve Partial Matching using `orWhereLike` in Laravel-5 Eloquent?

Die Verwendung von „LIKE“ entspricht Eloquent von Laravel-5

Beim Versuch, Daten aus einer Datenbank mit Laravel-5 abzurufen, kann es zu Problemen kommen Schwierigkeiten bei der Verwendung der orWhereLike-Methode zum Abgleichen von Ergebnissen. Um dieses Problem zu verstehen, untersuchen wir die MySQL-Anweisung, die dem bereitgestellten Code entspricht:

BookingDates::where('email', Input::get('email'))
->orWhere('name', 'like', Input::get('name'))
->get()

Dieser Code wird in die folgende MySQL-Anweisung übersetzt:

<code class="sql">select * from booking_dates where email='[email protected]' or name like 'John'</code>

Die erwartete MySQL-Anweisung sollte jedoch sein sehen so aus:

<code class="sql">select * from booking_dates where email='[email protected]' or name like '%John%'</code>

Um diese Diskrepanz zu beheben und die gewünschte Übereinstimmung zu erreichen, verwenden Sie den folgenden Code:

<code class="php">BookingDates::where('email', Input::get('email'))
    ->orWhere('name', 'like', '%' . Input::get('name') . '%')
    ->get();</code>

Dieser geänderte Code stellt sicher, dass das Prozentzeichen (%) hinzugefügt wird den Anfang und das Ende des Eingabenamens, was eine teilweise Übereinstimmung ermöglicht.

Denken Sie außerdem daran, dass Sie den folgenden Befehl verwenden können, wenn Sie die von Laravel generierten Abfragen untersuchen möchten:

<code class="php">dd(DB::getQueryLog())</code>

Das obige ist der detaillierte Inhalt vonWie erreicht man eine teilweise Übereinstimmung mit „orWhereLike“ in Laravel-5 Eloquent?. 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