ホームページ >バックエンド開発 >PHPチュートリアル >複数の WHERE 句を使用した Laravel 雄弁なクエリを効率的に構築するにはどうすればよいですか?
Laravel Eloquent を使用した複数の WHERE 句を含むクエリの構築
次のシナリオを考えてみましょう: Laravel の Eloquent クエリ ビルダーを利用しており、異なる条件を対象とする複数の WHERE 句を含むクエリ。複数の where メソッド呼び出しを使用してこれを行うことは可能ですが、このアプローチは繰り返しが多く扱いにくくなる可能性があります。
これに対処するために、Laravel では、そのようなクエリをよりエレガントに構築するための代替オプションがいくつか提供されています。
Where
で条件の配列を使用する Laravel 時点5.3 では、where メソッドに渡される配列で複数の条件を指定できます。
$query->where([ ['column_1', '=', 'value_1'], ['column_2', '<>', 'value_2'], // ... ]);
where で配列を使用する
Laravel 5.3 より前では、以下を使用することもできました。条件を指定する配列 where:
$matchThese = ['field' => 'value', 'another_field' => 'another_value', ...]; $results = User::where($matchThese)->get();
を使用するorWhere
または、orWhere を使用して条件をグループ化できます。
$results = User::where($matchThese) ->orWhere($orThose) ->get();
結果の SQL クエリ
orWhere メソッドを使用すると、次のようなクエリthis:
SELECT * FROM users WHERE (field = value AND another_field = another_value AND ...) OR (yet_another_field = yet_another_value AND ...)
これらの手法を使用すると、より簡潔で保守しやすい方法で複数の WHERE 句を含むクエリを構築できます。
以上が複数の WHERE 句を使用した Laravel 雄弁なクエリを効率的に構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。