src/Controller/AppController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use App\Entity\Category;
  8. use App\Entity\Service;
  9. use App\Entity\Numero;
  10. class AppController extends AbstractController
  11. {
  12.     /**
  13.      * @Route("/", name="app_app")
  14.      */
  15.     public function index()
  16.     {
  17.         $em $this->getDoctrine()->getManager();
  18.         $menu null;
  19.         $category $em->getRepository(Category::class)->findAll();
  20.         return $this->render('app/index.html.twig', [
  21.         'category'=>$category,
  22.         'menu'=>$menu]);
  23.     }
  24.     /**
  25.      * @Route("/search", name="app.search")
  26.      */
  27.     public function search(Request $request)
  28.     {
  29.         $em $this->getDoctrine()->getManager();
  30.         $menu null;
  31.         if($request->isMethod('post')){
  32.         $search $request->get('search');
  33.           $sql'SELECT s.*, s.name AS nameService, c.name AS nameCat, c.color AS color
  34.               FROM service s
  35.               LEFT JOIN category c ON c.id = s.category_id
  36.               WHERE s.name LIKE "%'.$search.'%"';
  37.               $result $em->getConnection()->fetchAllAssociative($sql);
  38.               foreach ($result as $key => $r) {
  39.                 $sql="SELECT n.*, n.numero AS num
  40.                 FROM numero n
  41.                 WHERE n.service_id ='".$r['id']."'";
  42.                 $numero $em->getConnection()->fetchAllAssociative($sql);
  43.                 $result[$key]['num']=$numero;
  44.               }
  45.         }
  46.         return $this->render('app/search.html.twig', [
  47.         'menu'=>$menu,
  48.         'result'=>$result]);
  49.     }
  50.     /**
  51.      * @Route("/service/{id}", name="app_service")
  52.      */
  53.     public function Service($id)
  54.     {
  55.         $em $this->getDoctrine()->getManager();
  56.         $category $em->getRepository(Category::class)->findOneBy(['id'=>$id]);
  57.         $services $em->getRepository(Service::class)->findBy(['category'=>$category,'enable'=>'1']);
  58.         foreach ($services as $service ) {
  59.           $num $em->getRepository(Numero::class)->findBy(['service'=>$service]);
  60.         }
  61.         $subServ $em->getRepository(Service::class)->findBy(['category'=>$category,'enable'=>'1','sub'=>'1']);
  62.         $numSub=[];
  63.         foreach ($subServ as $sub ) {
  64.           $numServ $em->getRepository(Service::class)->findBy(['subCategory'=>$sub->getId()]);
  65.         foreach ($numServ as $nums ) {
  66.             $num $em->getRepository(Numero::class)->findBy(['service'=>$nums]);
  67.             $numSub[] = $num;
  68.           }
  69.         }
  70.         $menu null;
  71.         return $this->render('app/service.html.twig', [
  72.         'category'=>$category,
  73.         'services'=>$services,
  74.         'numSub'=>$numSub,
  75.         'menu'=>$menu]);
  76.     }
  77. }