src/Repository/StageAcademyRepository.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\StageAcademy;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use DateTime;
  7. /**
  8.  * @method StageAcademy|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method StageAcademy|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method StageAcademy[]    findAll()
  11.  * @method StageAcademy[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class StageAcademyRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryStageAcademy::class);
  18.     }
  19.     public function search(int $page 1int $limit 3, ?string $keywords, ?string $ville)
  20.     {
  21.         $query $this->createQueryBuilder('s');
  22.         if($keywords && $keywords != '') {
  23.             $query->andWhere('LOWER(s.title LIKE) "%'.$keywords.'%" OR LOWER(s.description) LIKE "%'.$keywords.'%"');
  24.         }
  25.         if($ville && $ville != '') {
  26.             $query->andWhere("JSON_GET_TEXT(s.ville,0) LIKE '%".$ville."%'");
  27.         }
  28.         $query->orderBy('s.ordre''ASC');
  29.         $query->setMaxResults($limit);
  30.         $query->setFirstResult((($page-1)*$limit));
  31.         return $query->getQuery()->getResult();
  32.     }
  33. }