src/Controller/Website/ShowHomeController.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Website;
  3. use App\Controller\AbstractController;
  4. use App\Criteria\DemandCommentCriteria;
  5. use App\Criteria\NewsCriteria;
  6. use App\Repository\DemandRepository;
  7. use App\Repository\NewsRepository;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class ShowHomeController extends AbstractController
  11. {
  12.     public function __construct(
  13.         private string $repartitionDemandsMapPath
  14.     ) {
  15.     }
  16.     #[Route(name'home')]
  17.     public function __invoke(NewsCriteria $newsCriteriaNewsRepository $newsRepositoryDemandRepository $demandRepository): Response
  18.     {
  19.         $newsCriteria->limit 3;
  20.         $newsRepository->buildCriteriaQuery($newsCriteria);
  21.         $news $newsRepository->getResult();
  22.         $demandCommentCriteria = new DemandCommentCriteria();
  23.         $demandRepository
  24.             ->getDemandWithUserFeedback($demandCommentCriteria)
  25.             ->getQueryBuilder()
  26.         ;
  27.         $publishedDemands $demandRepository->getResult();
  28.         $demands $demandRepository->findAll();
  29.         return $this->render('home.html.twig', [
  30.             'news'                         => $news,
  31.             'published_demands'            => $publishedDemands,
  32.             'demands'                      => $demands,
  33.             'repartition_demands_map_path' => $this->repartitionDemandsMapPath,
  34.         ]);
  35.     }
  36. }