Laravel Eloquent で簡潔な複数句のクエリを作成する
Laravel Eloquent を使用して作業する場合、複数の条件を使用してデータベースをクエリすると、長くなる可能性がありますwhere() 呼び出しのチェーン。クエリの優雅さと可読性を高めるために、より効率的な代替手段を検討してみましょう。
方法 1: 粒状ホワイトスペース
Laravel 5.3 では、配列の配列を渡す機能が導入されました。 where() メソッドに。各内部配列は、次の構文を使用して単一の条件を表します:
$query->where([ ['column_1', '=', 'value_1'], ['column_2', '<', 'value_2'], ... ])
このメソッドは望ましい結果を達成しますが、すべての状況において最も実用的なアプローチであるとは限りません。
方法 2: and() と orWhere() を使用した配列のグループ化
汎用性の高いアプローチは、配列をグループ化することです。配列を使用して条件を設定し、and() メソッドと orWhere() メソッドを使用します。デフォルトでは、and() は論理 AND 演算子で条件を接続しますが、orWhere() は OR を使用します。
$matchThese = ['field' => 'value', 'another_field' => 'another_value', ...]; // Use and() for conjunctive conditions $results = User::where($matchThese)->get(); // Use orWhere() for disjunctive conditions $orThose = ['yet_another_field' => 'yet_another_value', ...]; $results = User::where($matchThese) ->orWhere($orThose) ->get();
この戦略により、効率的で読みやすいクエリが生成されます。
SELECT * FROM users WHERE (field = value AND another_field = another_value) OR (yet_another_field = yet_another_value)
特定のユースケースに最適な方法を選択することで、クエリを合理化し、Laravel アプリケーションの保守性を向上させることができます。
以上がLaravel Eloquent で簡潔な複数句のクエリを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。