ホームページ >データベース >mysql チュートリアル >「WHERE IN」のサブクエリを使用してLaravelで製品データを効率的に取得する方法?

「WHERE IN」のサブクエリを使用してLaravelで製品データを効率的に取得する方法?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-09 13:49:11815ブラウズ

How to Efficiently Retrieve Product Data in Laravel Using a Subquery in `WHERE IN`?

Laravel サブクエリ WHERE IN:

サブクエリを利用して、Laravel の製品テーブルから製品データを取得する効率的な方法を探しています。含める product_id 値を指定します。結合の代替手段は存在しますが、最適化のためにサブクエリベースのアプローチをお勧めします。

解決策:

以下は、要件内でサブクエリを利用して要件に対処するコードです。どこで句:

Products::whereIn('id', function($query){
    $query->select('paper_type_id')
        ->from(with(new ProductCategory)->getTable())
        ->whereIn('category_id', ['223', '15'])
        ->where('active', 1);
})
->get();

説明:

  • クエリは、データを取得するターゲット テーブルを表す Products モデル ベースで始まります。
  • whereIn 句が使用され、
    products テーブルの id 列を列として指定します。 evaluate.
  • サブクエリを定義するためにネストされたクロージャが利用されます。このクロージャー内で、with(new ProductCategory)->getTable() を使用して作成された一時テーブルから Paper_type_id を選択します。
  • 次に、サブクエリは whereIn('category_id', ['223 などの必要なフィルターを適用します) ', '15']) で結果を特定のカテゴリに制限し、where('active', 1) でアクティブのみを含めますproducts.
  • 最後に、get() を使用してクエリ全体が実行され、目的の製品データが効率的に取得されます。

以上が「WHERE IN」のサブクエリを使用してLaravelで製品データを効率的に取得する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。