以下のコードを使用して、Laravel 5を使用してデータベースからいくつかの結果を引き出します。
BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
ただし、orWhereLikeはどの結果とも一致していないようです。そのコードはMySQLステートメントに関して何を生み出しますか?
私は次のようなことを達成しようとしています。
select * from booking_dates where email='[email protected]' or name like '%John%'
前もって感謝します。
データベースで何が実行されているのかを知りたい場合は、dd(DB::getQueryLog())
を使用してどのクエリが実行されたかを確認してください。
これを試して
BookingDates::where('email', Input::get('email'))
->orWhere('name', 'like', '%' . Input::get('name') . '%')->get();
クエリにパラメーターを渡すという優れたプラクティスに従って、これはより優れていると思います。
BookingDates::whereRaw('email = ? or name like ?', [$request->email,"%{$request->name}%"])->get();
Laravelスカウトを使用して、検索を簡単にすることもできます。 ドキュメントはこちらです