src/Repository/ElearningRepository.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Elearning;
  4. use App\Entity\PostCategory;
  5. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. /**
  8.  * @method Elearning|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method Elearning|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method Elearning[]    findAll()
  11.  * @method Elearning[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class ElearningRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryElearning::class);
  18.     }
  19.     public function search(int $page 1int $limit 3, ?string $category)
  20.     {
  21.         $query $this->createQueryBuilder('e');
  22.         if($category && $category != '') {
  23.             $query->innerJoin('e.category''c')->where('c.slug = :category')->setParameter('category'$category);
  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. }