Loading src/Octopus/Service/Structure/StructureService.php +32 −4 Original line number Diff line number Diff line Loading @@ -101,18 +101,46 @@ class StructureService { /** * @param string $term * @param string $type * @return Structure[] */ public function getStructuresByTerm($term) public function getStructuresByTerm($term, $type = null) { $qb = $this->getEntityManager()->getRepository(Structure::class)->createQueryBuilder('type') ->andWhere('type.libelleCourt LIKE :search') $qb = $this->getEntityManager()->getRepository(Structure::class)->createQueryBuilder('structure') ->andWhere('structure.libelleCourt LIKE :search') ->setParameter('search', '%'.$term.'%') ->orderBy('type.libelleCourt') ->orderBy('structure.libelleCourt') ; if ($type) { $qb = $qb->addSelect('type')->join('structure.type', 'type') ->andWhere('type.code = :type') ->setParameter('type', $type) ; } $result = $qb->getQuery()->getResult(); return $result; } /** * @param string $type * @param string $order * @return Structure[] */ public function getStructuresByType($type, $order = null) { $qb = $this->getEntityManager()->getRepository(Structure::class)->createQueryBuilder('type') ->addSelect('type')->join('structure.type', 'type') ->andWhere('type.code = :type') ->setParameter('type', $type) ; if ($order) $qb = $qb->orderBy('type.'.$order); $qb = $qb->setMaxResults(501); $result = $qb->getQuery()->getResult(); return $result; } } No newline at end of file Loading
src/Octopus/Service/Structure/StructureService.php +32 −4 Original line number Diff line number Diff line Loading @@ -101,18 +101,46 @@ class StructureService { /** * @param string $term * @param string $type * @return Structure[] */ public function getStructuresByTerm($term) public function getStructuresByTerm($term, $type = null) { $qb = $this->getEntityManager()->getRepository(Structure::class)->createQueryBuilder('type') ->andWhere('type.libelleCourt LIKE :search') $qb = $this->getEntityManager()->getRepository(Structure::class)->createQueryBuilder('structure') ->andWhere('structure.libelleCourt LIKE :search') ->setParameter('search', '%'.$term.'%') ->orderBy('type.libelleCourt') ->orderBy('structure.libelleCourt') ; if ($type) { $qb = $qb->addSelect('type')->join('structure.type', 'type') ->andWhere('type.code = :type') ->setParameter('type', $type) ; } $result = $qb->getQuery()->getResult(); return $result; } /** * @param string $type * @param string $order * @return Structure[] */ public function getStructuresByType($type, $order = null) { $qb = $this->getEntityManager()->getRepository(Structure::class)->createQueryBuilder('type') ->addSelect('type')->join('structure.type', 'type') ->andWhere('type.code = :type') ->setParameter('type', $type) ; if ($order) $qb = $qb->orderBy('type.'.$order); $qb = $qb->setMaxResults(501); $result = $qb->getQuery()->getResult(); return $result; } } No newline at end of file