2015-06-10 19 views
54

ich den Code unten bin mit mit Laravel einige Ergebnisse aus der Datenbank ziehen 5.Laravel-5 ‚LIKE‘ Äquivalent (Eloquent)

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

jedoch die orWhereLike scheint nicht passend zu Ergebnisse. Was produziert dieser Code in Bezug auf MySQL-Anweisungen?

Ich versuche, so etwas wie die folgenden zu erreichen:

select * from booking_dates where email='[email protected]' or name like '%John%' 

Vielen Dank im Voraus.

Antwort

143

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.

Versuchen Sie, diese

BookingDates::where('email', Input::get('email')) 
    ->orWhere('name', 'like', '%' . Input::get('name') . '%')->get(); 
+11

ist diese Abfrage SQL-Injection geschützt? – partho

+7

@partsho Ja. Laravel überprüft die gesamte Zeichenfolge, die Sie als drittes Argument der 'Where'-Methode übergeben. – Finesse

Verwandte Themen