Ich verwende den folgenden Code, um einige Ergebnisse mit Laravel 5 aus der Datenbank abzurufen.
BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
Das orWhereLike scheint jedoch keine Ergebnisse zu liefern. Was erzeugt dieser Code in Bezug auf MySQL-Anweisungen?
Ich versuche folgendes zu erreichen:
select * from booking_dates where email='[email protected]' or name like '%John%'
Danke im Voraus.
Wenn Sie sehen möchten, was in der Datenbank ausgeführt wird, verwenden Sie dd(DB::getQueryLog())
, um zu sehen, welche Abfragen ausgeführt wurden.
Versuche dies
BookingDates::where('email', Input::get('email'))
->orWhere('name', 'like', '%' . Input::get('name') . '%')->get();
Ich denke, dies ist besser, wenn man die bewährten Methoden zur Übergabe von Parametern an die Abfrage befolgt:
BookingDates::whereRaw('email = ? or name like ?', [$request->email,"%{$request->name}%"])->get();
Sie können es in der Dokumentation sehen, Laravel 5.5.
Sie können auch den Pfadfinder Laravel verwenden, um die Suche zu vereinfachen. Hier ist die Dokumentation.