Newer
Older
<?php
namespace App\Repository;
use App\Entity\Etablissement;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
Glody Kutumbakana
a validé
use Doctrine\ORM\QueryBuilder;
use Doctrine\Persistence\ManagerRegistry;
/**
* @extends ServiceEntityRepository<Etablissement>
*/
class EtablissementRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, Etablissement::class);
}
Glody Kutumbakana
a validé
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();
}
Glody Kutumbakana
a validé
public function findAcademieByCode(string $code): string
{
return $this->createQueryBuilder('e')
->select('e.academie')
->distinct()
->where('e.code_academie = :code')
->setParameter('code', $code)
->getQuery()
->getSingleScalarResult();
Glody Kutumbakana
a validé
}
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()
// ;
// }
}