Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository::applyCriteria PHP Method

applyCriteria() protected method

protected applyCriteria ( Doctrine\ORM\QueryBuilder $queryBuilder, array $criteria = [] )
$queryBuilder Doctrine\ORM\QueryBuilder
$criteria array
    protected function applyCriteria(QueryBuilder $queryBuilder, array $criteria = [])
    {
        foreach ($criteria as $property => $value) {
            $name = $this->getPropertyName($property);
            if (null === $value) {
                $queryBuilder->andWhere($queryBuilder->expr()->isNull($name));
            } elseif (is_array($value)) {
                $queryBuilder->andWhere($queryBuilder->expr()->in($name, $value));
            } elseif ('' !== $value) {
                $parameter = str_replace('.', '_', $property);
                $queryBuilder->andWhere($queryBuilder->expr()->eq($name, ':' . $parameter))->setParameter($parameter, $value);
            }
        }
    }

Usage Example

Exemplo n.º 1
0
 protected function applyCriteria(QueryBuilder $queryBuilder, array $criteria = null)
 {
     if (isset($criteria['groups'])) {
         $queryBuilder->innerJoin($this->getAlias() . '.machine', 'm', 'WITH', $this->getAlias() . '.machine = m.id')->innerJoin('m.groups', 'g', 'WITH', $queryBuilder->expr()->andX($queryBuilder->expr()->in('g.id', $criteria['groups'])));
         unset($criteria['groups']);
     }
     parent::applyCriteria($queryBuilder, $criteria);
 }
All Usage Examples Of Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository::applyCriteria