2
Magento 2:製品リポジトリ、フィルターグループ、および「AND」
製品のリストを取得するために製品リポジトリを使用しようとしています。AND条件と組み合わせた2つのフィルターに基づいて取得したいのですが、うまくいかないようです。フィルターグループの仕組みを理解できませんか?または、これは報告されるべきバグですか? 具体的には、(簡単にするために愚かな例)フィルタービルダー、フィルターグループビルダー、および検索条件ビルダーを挿入するコンストラクターがあります。 public function __construct( \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\Api\FilterBuilder $filterBuilder, \Magento\Framework\Api\Search\FilterGroupBuilder $filterGroupBuilder ) { $this->searchCriteriaBuilder = $searchCriteriaBuilder; $this->filterBuilder = $filterBuilder; $this->filterGroupBuilder = $filterGroupBuilder; } 次に、メソッドの後半で、フィルタービルダーを使用して2つのフィルターを作成します。 $filter1 = $this->filterBuilder->setField('sku') ->setValue('24-MB01') ->setConditionType('eq') ->create(); $filter2 = $this->filterBuilder->setField('sku') ->setValue('WT08-XS-Black') ->setConditionType('eq') ->create(); 次に、フィルターグループビルダーを使用して、これら2つのフィルターで構成されるフィルターグループを構築します。 $filter_group = $this->filterGroupBuilder ->addFilter($filter1) ->addFilter($filter2) ->create(); 次に、検索条件ビルダーを使用して、フィルターグループを設定します $criteria = $this->searchCriteriaBuilder ->setFilterGroups([$filter_group]) ->setPageSize(100) ->create(); …