src/Repository/SchulungWerbungRepository.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\SchulungWerbung;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use Exception;
  7. /**
  8.  * @method SchulungWerbung|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method SchulungWerbung|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method SchulungWerbung[]    findAll()
  11.  * @method SchulungWerbung[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class SchulungWerbungRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registrySchulungWerbung::class);
  18.     }
  19.     /**
  20.      * @throws Exception
  21.      */
  22.     public function findWerbungAktiv($limit = -1)
  23.     {
  24.         $queryBuilder $this->createQueryBuilder('sw')
  25.             ->innerJoin('sw.schulung''s')
  26.             ->andWhere('s.freigabe = 1')
  27.             ->andWhere('sw.aktiv = 1')
  28.             ->andWhere('sw.von <= :now')
  29.             ->andWhere('sw.bis >= :now')
  30.             ->setParameter('now',new \DateTime('now', new \DateTimeZone('Europe/Berlin')))
  31.             ->orderBy('RAND()');
  32.         if($limit != -1) {
  33.             $queryBuilder->setMaxResults($limit);
  34.         }
  35.         return $queryBuilder->getQuery()->getResult();
  36.     }
  37. }