Commits (3)
......@@ -98,18 +98,26 @@ final class EtablissementController extends AbstractController
return $this->render('etablissement/liste.html.twig', [
'pagination' => $pagination,
'filtre' => "Département : $region "
'filtre' => "Région : $region "
]);
}
#[Route('/etablissements/commune/{code_commune}', name: 'app_commune')]
public function commune(EtablissementRepository $etablissementRepository, string $code_commune): Response
public function commune(Request $request, PaginatorInterface $paginator, EtablissementRepository $etablissementRepository): Response
{
$etablissements = $etablissementRepository->findBy(['code_commune' => $code_commune]);
$commune = $etablissements[array_key_first($etablissements)] -> getCommune();
$code_commune = $request->get('code_commune');
$commune = $etablissementRepository->findCommuneByCode($code_commune);
$queryBuilder = $etablissementRepository->queryFindOrderedByCategorie(['code_commune' => $code_commune]);
$pagination = $paginator->paginate(
$queryBuilder,
$request->query->getInt('page', 1),
10
);
return $this->render('etablissement/liste.html.twig', [
'etablissements' => $etablissements,
'filtre' => "Commune : $commune",
'pagination' => $pagination,
'filtre' => "Commune : $commune "
]);
}
......
......@@ -52,8 +52,13 @@ class EtablissementRepository extends ServiceEntityRepository
public function findCommuneByCode(string $code): string
{
//TODO
return "";
return $this->createQueryBuilder('e')
->select('e.commune')
->distinct()
->where('e.code_commune = :code')
->setParameter('code', $code)
->getQuery()
->getSingleScalarResult();
}
public function findRegionByCode(string $code): string
......