Laravel で WHERE IN を使用してネストされたサブクエリを実行する
Laravel では、whereIn メソッドを使用してネストされたサブクエリを実行できます。この手法は、サブクエリから派生した条件に基づいてレコードを選択するためによく使用されます。
質問で提供されたクエリを実行するには、次の Laravel コードを利用できます。
Products::whereIn('id', function($query){ $query->select('product_id') ->from(with(new ProductCategory)->getTable()) ->whereIn('category_id', ['223', '15']) ->where('active', 1); }) ->get();
この例では、コードでは、内部サブクエリは、指定された基準を満たす product_id 値を選択し、それらを一時テーブルに配置します。外側のクエリは、これらの値を WHERE IN 句の一部として使用して、対応する製品レコードを取得します。
サブクエリによって生成される一時テーブルは、パフォーマンスを考慮して結合を使用するよりもこの方法が推奨されます。データベース エンジンによってより効率的に使用されます。
以上がLaravelでWHERE INを使用してネストされたサブクエリを実行する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。