src/Repository/Admin/EntiteeconomiqueRepository.php line 80

Open in your IDE?
  1. <?php
  2. namespace App\Repository\Admin;
  3. use App\Entity\Admin\Entiteeconomique;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use phpDocumentor\Reflection\Types\Null_;
  7. /**
  8.  * @method Entiteeconomique|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method Entiteeconomique|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method Entiteeconomique[]    findAll()
  11.  * @method Entiteeconomique[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class EntiteeconomiqueRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryEntiteeconomique::class);
  18.     }
  19.     /**
  20.      * @param $categories
  21.      * @param $ile
  22.      * @return mixed
  23.      */
  24.     public function showByCategoriesAndIle($categories$ile$param1)
  25.     {
  26.         $query =  $this->createQueryBuilder('e');
  27.         $query $query
  28.             ->leftJoin('e.categories''cat')
  29.             ->andWhere('cat.id IN (:categories)')
  30.             ->setParameter('categories'$categories)
  31.             ->orderBy('e.designation''ASC')
  32.         ;
  33.         if ($ile and $ile != 'km'){
  34.             $query $query->leftJoin('e.iles''i')
  35.                 ->andWhere('i.parametre LIKE :parametre')
  36.                 ->setParameter('parametre''%'.$ile.'%');
  37.         }
  38.         if ($param1 and $param1 == 'sites_touristiques'){
  39.             $query $query->andWhere('e.is_sitetouristique = 1')
  40.             ;
  41.         }
  42.         return $query->getQuery()
  43.             ->getResult();
  44.     }
  45.     public function showByCategoriesAndOtherIle($categories$ile)
  46.     {
  47.         $query =  $this->createQueryBuilder('e');
  48.         $query $query
  49.             ->leftJoin('e.categories''cat')
  50.             ->andWhere('cat.id IN (:categories)')
  51.             ->setParameter('categories'$categories)
  52.         ;
  53.         if ($ile and $ile != 'km'){
  54.             $query $query->leftJoin('e.iles''i')
  55.                 ->andWhere('i.parametre NOT LIKE :parametre')
  56.                 ->setParameter('parametre''%'.$ile.'%');
  57.         }
  58.         return $query->getQuery()
  59.             ->setMaxResults(7)
  60.             ->getResult();
  61.     }
  62.     public function findByIle($iles)
  63.     {
  64.         return $this->createQueryBuilder('e')
  65.             ->leftJoin('e.iles''i')
  66.             ->andWhere('i.id IN (:iles)')
  67.             ->andWhere('e.is_actif = true')
  68.             ->setParameter('iles'$iles)
  69.             ->getQuery()
  70.             ->getResult()
  71.         ;
  72.     }
  73. }