src/Controller/CityController.php line 18

Open in your IDE?
  1. <?php
  2. // src/Controller/CityController.php
  3. namespace App\Controller;
  4. use App\Repository\VillesRepository;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\JsonResponse;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Symfony\Component\HttpFoundation\Request;
  9. class CityController extends AbstractController
  10. {
  11.     /**
  12.      * @Route("/api/villes", name="api_villes", methods={"GET"})
  13.      */
  14.     public function getVilles(VillesRepository $villesRepositoryRequest $request): JsonResponse
  15.     {
  16.         $search $request->query->get('q''');
  17.         $villes $villesRepository->createQueryBuilder('v')
  18.             ->where('v.VilleNomReel LIKE :search')
  19.             ->orWhere('v.VilleCodePostal LIKE :search')
  20.             ->setParameter('search'$search '%')
  21.             ->setMaxResults(10)
  22.             ->getQuery()
  23.             ->getResult();
  24.         $results = [];
  25.         foreach ($villes as $ville) {
  26.             $results[] = [
  27.                 'id' => $ville->getId(),
  28.                 'text' => $ville->getVilleNomReel() . ' (' $ville->getVilleCodePostal() . ')',
  29.                 'lat' => $ville->getVilleLatitudeDeg(),
  30.                 'lng' => $ville->getVilleLongitudeDeg(),
  31.             ];
  32.         }
  33.         return new JsonResponse(['results' => $results]);
  34.     }
  35. }
  36. ?>