src/Repository/CoachingSessionRepository.php line 23

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