*/ class EtablissementRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Etablissement::class); } public function queryFindOrderedByName(): QueryBuilder { return $this->createQueryBuilder('e') ->orderBy('e.nom', 'ASC'); } public function queryFindOrderedByCategorie(array $criteria): QueryBuilder { $qb = $this->createQueryBuilder('e'); foreach ($criteria as $field => $value) { $qb->andWhere("e.$field = :$field") ->setParameter($field, $value); } return $qb->orderBy('e.nom', 'ASC'); } public function findDepartementByCode(string $code): string { return $this->createQueryBuilder('e') ->select('e.departement') ->distinct() ->where('e.code_departement = :code') ->setParameter('code', $code) ->getQuery() ->getSingleScalarResult(); } public function findAcademieByCode(string $code): string { return $this->createQueryBuilder('e') ->select('e.academie') ->distinct() ->where('e.code_academie = :code') ->setParameter('code', $code) ->getQuery() ->getSingleScalarResult(); } public function findCommuneByCode(string $code): string { //TODO return ""; } public function findRegionByCode(string $code): string { return $this->createQueryBuilder('e') ->select('e.region') ->distinct() ->where('e.code_region = :code') ->setParameter('code', $code) ->getQuery() ->getSingleScalarResult(); } // /** // * @return Etablissement[] Returns an array of Etablissement objects // */ // public function findByExampleField($value): array // { // return $this->createQueryBuilder('e') // ->andWhere('e.exampleField = :val') // ->setParameter('val', $value) // ->orderBy('e.id', 'ASC') // ->setMaxResults(10) // ->getQuery() // ->getResult() // ; // } // public function findOneBySomeField($value): ?Etablissement // { // return $this->createQueryBuilder('e') // ->andWhere('e.exampleField = :val') // ->setParameter('val', $value) // ->getQuery() // ->getOneOrNullResult() // ; // } }