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
{

G. Daryl M. OKOU
a validé
return $this->createQueryBuilder('e')
->select('e.commune')
->distinct()
->where('e.code_commune = :code')
->setParameter('code', $code)
->getQuery()
->getSingleScalarResult();
Glody Kutumbakana
a validé
}
Glody Kutumbakana
a validé
public function queryFindOrderBy(?string $search = null)
{
$queryBuilder = $this->createQueryBuilder('e');
if ($search) {
$queryBuilder
->where('e.nom LIKE :search')
->setParameter('search', '%' . $search . '%');
}
return $queryBuilder->orderBy('e.nom', 'ASC')->getQuery();
}
Glody Kutumbakana
a validé
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()
// ;
// }
// Méthode pour récupérer les établissements par code_commune

G. Daryl M. OKOU
a validé
public function findByCodeCommune(string $codeCommune):array
{
return $this->createQueryBuilder('e')
->where('e.code_commune = :codeCommune')
->setParameter('codeCommune', $codeCommune)
->getQuery()
->getResult();
}