Laravel 5 クエリビルダー: 同等の 'LIKE' 構文
Laravel 5 では、Eloquent クエリの LIKE 演算子は 'whereLike' で表されます。 ()' 方法。ただし、一部のユーザーは、「orWhereLike()」メソッドを使用して LIKE 句を結合する際に問題が発生しています。
MySQL と同等
「orWhereLike()」メソッドは以下の MySQL クエリ形式:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
一致する結果
質問で提供されたコード:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name')) ->get()
名前が一致しないため、結果は一致しません' 条件に、部分的な条件を示すために必要なワイルドカード文字がありません。 match.
正しい構文
意図した MySQL クエリを実現するには、次のコードを使用します:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
これにより、正しい MySQL クエリが生成されます。 :
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
以上がLaravel 5 クエリビルダー: ワイルドカードを使用して `orWhereLike()` を正しく使用する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。