%PDF- %PDF-
Direktori : /home/emtnaeewxm/www/src/EEM/ArticleBundle/Repository/ |
Current File : /home/emtnaeewxm/www/src/EEM/ArticleBundle/Repository/ModeleRepository.php |
<?php namespace EEM\ArticleBundle\Repository; use Doctrine\ORM\QueryBuilder; /** * ModeleRepository * * This class was generated by the Doctrine ORM. Add your own custom * repository methods below. */ class ModeleRepository extends \Doctrine\ORM\EntityRepository { public function MyFindAll($data) { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder ->leftJoin('a.marque', 'marque') ->addSelect('marque') ->leftJoin('marque.familles', 'familles') ->addSelect('familles'); $this->search($queryBuilder, $data); $queryBuilder->orderBy('a.name', 'ASC'); /* $query = $queryBuilder->getQuery(); $results = $query->getResult(); */ return $queryBuilder; } private function search(QueryBuilder $qb, $data) { if (isset($data['famille']) && !empty($data['famille'])) { $qb->andWhere('familles.id = :famille') ->setParameter('famille', $data['famille']); } if (isset($data['marque']) && !empty($data['marque'])) { $qb->andWhere('a.marque = :marque') ->setParameter('marque', $data['marque']); } } public function findModele($marque) { $queryBuilder = $this->createQueryBuilder('a'); if ($marque != null) { $queryBuilder ->where('a.marque = :marque_id') ->setParameter('marque_id', $marque) ->groupBy("a.name") ->orderBy("a.name", "ASC"); } else { $queryBuilder ->groupBy("a.name") ->orderBy("a.name", "ASC"); } $query = $queryBuilder->getQuery(); $results = $query->getResult(); return $results; } }