ホームページ > データベース > mysql チュートリアル > LaravelでWHERE INを使用してネストされたサブクエリを実行する方法は?

LaravelでWHERE INを使用してネストされたサブクエリを実行する方法は?

Barbara Streisand
リリース: 2024-12-10 05:00:14
オリジナル
861 人が閲覧しました

How to Perform a Nested Subquery with WHERE IN in Laravel?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート