src/Repository/Actualites/ActualitesRepository.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Repository\Actualites;
  3. use App\Entity\Actualites\Actualites;
  4. use App\Entity\Actualites\Categories;
  5. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. /**
  8.  * @method Actualites|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method Actualites|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method Actualites[]    findAll()
  11.  * @method Actualites[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class ActualitesRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryActualites::class);
  18.     }
  19.     public function getActualitesRandom(Actualites $actualite$limit)
  20.     {
  21.         return $this->createQueryBuilder('a')
  22.             ->andWhere('a.id != :actualite')
  23.             ->setParameter('actualite'$actualite)
  24.             ->orderBy('RAND()')
  25.             ->setMaxResults($limit)
  26.             ->getQuery()
  27.             ->getResult()
  28.             ;
  29.     }
  30.     /**
  31.      * @param Categories $categories
  32.      * @return Actualites[]
  33.      */
  34.     public function getActualitesByCategorie(Categories $categories): array
  35.     {
  36.         return $this->createQueryBuilder('a')
  37.             ->select('c''a')
  38.             ->leftJoin('a.categories''c')
  39.             ->andWhere('c.id = :categories')
  40.             ->setParameter('categories'$categories)
  41.             ->orderBy('a.id''DESC')
  42.             ->getQuery()
  43.             ->getResult()
  44.             ;
  45.     }
  46.     public function findAllOnline()
  47.     {
  48.         return $this->createQueryBuilder('a')
  49.             ->andWhere('a.online = :online')
  50.             ->andWhere('a.featured = :featured')
  51.             ->setParameters(['online' => 1'featured' => 0])
  52.             ->orderBy('a.id''DESC')
  53.             ->getQuery()
  54.             ->getResult()
  55.             ;
  56.     }
  57.     public function features(int $limit)
  58.     {
  59.         return $this->createQueryBuilder('a')
  60.             ->andWhere('a.featured = :featured')
  61.             ->andWhere('a.online = 1')
  62.             ->setParameters(['featured' => 1])
  63.             ->orderBy('a.id''DESC')
  64.             ->setMaxResults($limit)
  65.             ->getQuery()
  66.             ->getResult()
  67.             ;
  68.     }
  69.     public function latest(int $limit)
  70.     {
  71.         return $this->createQueryBuilder('a')
  72.             ->andWhere('a.online = :online')
  73.             ->setParameters(['online' => 1])
  74.             ->orderBy('a.id''DESC')
  75.             ->setMaxResults($limit)
  76.             ->getQuery()
  77.             ->getResult()
  78.             ;
  79.     }
  80. }