Sonata\ProductBundle\Entity\ProductManager::getCategoryActiveProductsQueryBuilder PHP Method

getCategoryActiveProductsQueryBuilder() public method

Returns active products for a given category.
public getCategoryActiveProductsQueryBuilder ( Sonata\ClassificationBundle\Model\CategoryInterface $category = null, string $filter = null, mixed $option = null ) : Doctrine\ORM\QueryBuilder
$category Sonata\ClassificationBundle\Model\CategoryInterface
$filter string
$option mixed
return Doctrine\ORM\QueryBuilder
    public function getCategoryActiveProductsQueryBuilder(CategoryInterface $category = null, $filter = null, $option = null)
    {
        $queryBuilder = $this->getCategoryProductsQueryBuilder($category);
        $queryBuilder->leftJoin('p.variations', 'pv')->andWhere('p.parent IS NULL')->andWhere('p.enabled = :enabled')->andWhere($queryBuilder->expr()->orX('pv.enabled = :enabled', 'pv.enabled IS NULL'))->setParameter('enabled', true);
        if (null !== $filter) {
            // TODO manage various filter types
            $queryBuilder->andWhere(sprintf('p.%s %s :%s', $filter, '>', $filter))->setParameter(sprintf(':%s', $filter), $option);
        }
        return $queryBuilder;
    }