private function getQueryFilter()
    {
        $query = null;

        $this->category->setIsActive(true);

        if ($this->category->getIsVirtualCategory() || $this->category->getId()) {
            $query = $this->category->getVirtualRule()->getCategorySearchQuery($this->category);
        }

        if ((bool) $this->category->getIsVirtualCategory() === false) {
            $queryParams = [];

            if ($query !== null) {
                $queryParams['should'][] = $query;
            }

            $idFilters = [
                'should'  => $this->category->getAddedProductIds(),
                'mustNot' => $this->category->getDeletedProductIds(),
            ];

            foreach ($idFilters as $clause => $productIds) {
                if ($productIds && !empty($productIds)) {
                    $queryParams[$clause][] = $this->getEntityIdFilterQuery($productIds);
                }
            }

            $query = $this->queryFactory->create(QueryInterface::TYPE_BOOL, $queryParams);
        }

        return $query;
    }
private function getQueryFilter()
    {
        $query = null;

        $this->category->setIsActive(true);

        if ($this->category->getIsVirtualCategory() || $this->category->getId()) {
            $query = $this->category->getVirtualRule()->getCategorySearchQuery($this->category);
        }

        if ((bool) $this->category->getIsVirtualCategory() === false) {
            $queryParams = [];

            if ($query !== null) {
                $queryParams['should'][] = $query;
            }

            $idFilters = [
                'should'  => $this->category->getAddedProductIds(),
                'mustNot' => $this->category->getDeletedProductIds(),
            ];

            foreach ($idFilters as $clause => $productIds) {
                if ($productIds && !empty($productIds)) {
                    $queryParams[$clause][] = $this->getEntityIdFilterQuery($productIds);
                }
            }

            $query = $this->queryFactory->create(QueryInterface::TYPE_BOOL, $queryParams);
        }

        return $query;
    }
private function getQueryFilter ( ) { $ query = null ; $ this -> category -> setIsActive ( true ) ; if ( $ this -> category -> getIsVirtualCategory ( ) || $ this -> category -> getId ( ) ) { $ query = $ this -> category -> getVirtualRule ( ) -> getCategorySearchQuery ( $ this -> category ) ; } if ( ( bool ) $ this -> category -> getIsVirtualCategory ( ) === false ) { $ queryParams = [ ] ; if ( $ query !== null ) { $ queryParams [ 'should' ] [ ] = $ query ; } $ idFilters = [ 'should' => $ this -> category -> getAddedProductIds ( ) , 'mustNot' => $ this -> category -> getDeletedProductIds ( ) , ] ; foreach ( $ idFilters as $ clause => $ productIds ) { if ( $ productIds && ! empty ( $ productIds ) ) { $ queryParams [ $ clause ] [ ] = $ this -> getEntityIdFilterQuery ( $ productIds ) ; } } $ query = $ this -> queryFactory -> create ( QueryInterface :: TYPE_BOOL , $ queryParams ) ; } return $ query ; }
Return the filter applied to the query.

@return QueryInterface
Return the filter applied to the query .