/** * @param array $criteria * @param array $sorting * @param bool $deleted * * @return Pagerfanta */ public function createFilterPaginator($criteria = array(), $sorting = array(), $deleted = false) { $queryBuilder = parent::getCollectionQueryBuilder()->leftJoin($this->getPropertyName('user'), 'user'); if ($deleted) { $this->_em->getFilters()->disable('softdeleteable'); } if (isset($criteria['query'])) { // Every tokenized search term should appear in at least one of the searchable fields, // for the entity to be included in the filtered results. $queryParts = preg_split('/\\s+/', $criteria['query']); for ($i = 0; $i < count($queryParts); $i++) { $queryBuilder->andWhere($queryBuilder->expr()->orX($queryBuilder->expr()->like($this->getPropertyName('emailCanonical'), ":query{$i}"), $queryBuilder->expr()->like($this->getPropertyName('firstName'), ":query{$i}"), $queryBuilder->expr()->like($this->getPropertyName('lastName'), ":query{$i}"), $queryBuilder->expr()->like('user.username', ":query{$i}")))->setParameter("query{$i}", '%' . $queryParts[$i] . '%'); } } if (isset($criteria['enabled'])) { $queryBuilder->andWhere($queryBuilder->expr()->eq('user.enabled', ':enabled'))->setParameter('enabled', $criteria['enabled']); } if (empty($sorting)) { if (!is_array($sorting)) { $sorting = array(); } $sorting['updatedAt'] = 'desc'; } $this->applySorting($queryBuilder, $sorting); return $this->getPaginator($queryBuilder); }
/** * @param array $criteria * @param array $sorting * * @return Pagerfanta */ public function createFilterPaginator($criteria = [], $sorting = []) { $queryBuilder = parent::getCollectionQueryBuilder(); if (isset($criteria['query'])) { $queryBuilder->leftJoin($this->getAlias() . '.customer', 'customer')->where('customer.emailCanonical LIKE :query')->orWhere('customer.firstName LIKE :query')->orWhere('customer.lastName LIKE :query')->orWhere($this->getAlias() . '.username LIKE :query')->setParameter('query', '%' . $criteria['query'] . '%'); } if (isset($criteria['enabled'])) { $queryBuilder->andWhere('o.enabled = :enabled')->setParameter('enabled', $criteria['enabled']); } if (empty($sorting)) { if (!is_array($sorting)) { $sorting = []; } $sorting['updatedAt'] = 'desc'; } $this->applySorting($queryBuilder, $sorting); return $this->getPaginator($queryBuilder); }
/** * @param array $criteria * @param array $sorting * * @return Pagerfanta */ public function createFilterPaginator($criteria = [], $sorting = []) { $queryBuilder = parent::getCollectionQueryBuilder()->leftJoin($this->getPropertyName('user'), 'user'); if (isset($criteria['query'])) { $queryBuilder->where($queryBuilder->expr()->like($this->getPropertyName('emailCanonical'), ':query'))->orWhere($queryBuilder->expr()->like($this->getPropertyName('firstName'), ':query'))->orWhere($queryBuilder->expr()->like($this->getPropertyName('lastName'), ':query'))->orWhere($queryBuilder->expr()->like('user.username', ':query'))->setParameter('query', '%' . $criteria['query'] . '%'); } if (isset($criteria['enabled'])) { $queryBuilder->andWhere($queryBuilder->expr()->eq('user.enabled', ':enabled'))->setParameter('enabled', $criteria['enabled']); } if (empty($sorting)) { if (!is_array($sorting)) { $sorting = []; } $sorting['updatedAt'] = 'desc'; } $this->applySorting($queryBuilder, $sorting); return $this->getPaginator($queryBuilder); }
/** * Create filter paginator. * * @param array $criteria * @param array $sorting * @param bool $deleted * * @return PagerfantaInterface */ public function createFilterPaginator($criteria = array(), $sorting = array(), $deleted = false) { $queryBuilder = parent::getCollectionQueryBuilder(); if ($deleted) { $this->_em->getFilters()->disable('softdeleteable'); } if (isset($criteria['query'])) { $queryBuilder->where('o.username LIKE :query')->orWhere('o.email LIKE :query')->orWhere('o.firstName LIKE :query')->orWhere('o.lastName LIKE :query')->setParameter('query', '%' . $criteria['query'] . '%'); } if (isset($criteria['enabled'])) { $queryBuilder->andWhere('o.enabled = :enabled')->setParameter('enabled', $criteria['enabled']); } if (empty($sorting)) { if (!is_array($sorting)) { $sorting = array(); } $sorting['updatedAt'] = 'desc'; } $this->applySorting($queryBuilder, $sorting); return $this->getPaginator($queryBuilder); }
/** * {@inheritdoc} */ protected function getCollectionQueryBuilder() { $queryBuilder = parent::getCollectionQueryBuilder(); $queryBuilder->addSelect('translation')->leftJoin($this->getAlias() . '.translations', 'translation'); return $queryBuilder; }
protected function getCollectionQueryBuilder() { return parent::getCollectionQueryBuilder()->leftJoin($this->getPropertyName('rules'), 'r')->addSelect('r')->leftJoin($this->getPropertyName('actions'), 'a')->addSelect('a'); }
protected function getCollectionQueryBuilder() { return parent::getCollectionQueryBuilder()->leftJoin($this->getAlias() . '.rules', 'r')->addSelect('r')->leftJoin($this->getAlias() . '.actions', 'a')->addSelect('a'); }
protected function getCollectionQueryBuilder() { return parent::getCollectionQueryBuilder()->join($this->getAlias() . '.object', 'product')->addSelect('product')->leftJoin($this->getAlias() . '.options', 'option')->addSelect('option'); }