>데이터 베이스 >MySQL 튜토리얼 >`WHERE IN`에서 하위 쿼리를 사용하여 Laravel에서 제품 데이터를 효율적으로 검색하는 방법은 무엇입니까?

`WHERE IN`에서 하위 쿼리를 사용하여 Laravel에서 제품 데이터를 효율적으로 검색하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-09 13:49:11824검색

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

Laravel 하위 쿼리 위치:

당신은 하위 쿼리를 활용하여 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 열을
  • products 테이블의 열로 지정합니다. 평가합니다.
  • 중첩 클로저를 사용하여 하위 쿼리를 정의합니다. 이 클로저 내에서 with(new ProductCategory)->getTable()을 사용하여 생성된 임시 테이블에서 paper_type_id를 선택합니다.
  • 그런 다음 하위 쿼리는 whereIn('category_id', ['223)을 포함하여 필요한 필터를 적용합니다. ', '15']) 결과를 특정 범주로 제한하고 where('active', 1) 활성 항목만 포함합니다. products.
  • 마지막으로 get()을 사용하여 전체 쿼리가 실행되어 원하는 제품 데이터를 효율적으로 검색합니다.

위 내용은 `WHERE IN`에서 하위 쿼리를 사용하여 Laravel에서 제품 데이터를 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.