Laravel を使用して WHERE IN 句を使用したサブクエリを実装する
次のサブクエリを利用する特定の SQL クエリを実行するメソッドをリクエストしました。 LaravelフレームワークのWHERE IN句。これを実現する方法を見てみましょう:
Laravel クエリ ビルダー
Laravel クエリ ビルダーは、SQL クエリを構築するための洗練された構文を提供します。提供されたクエリを実行するには、次のコードを使用できます。
$productIds = ProductCategory::whereIn('category_id', ['223', '15'])->pluck('product_id'); $products = Product::where('active', 1)->whereIn('id', $productIds)->get();
Closure-Based Subquery
または、クロージャ ベースのサブクエリを使用できます。サブクエリ:
Products::whereIn('id', function($query){ $query->select('product_id') ->from('product_category') ->whereIn('category_id', ['223', '15']) ->where('active', 1); }) ->get();
説明:
パフォーマンスに関する考慮事項:
パフォーマンスが懸念事項であることを示しており、効率性を考えるとサブクエリの使用が確かに適切です。クロージャベースの方法は少し複雑ですが、パフォーマンス上の利点が得られる可能性があります。
以上がLaravelでWHERE INを使用したサブクエリを効率的に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。