src/Repository/SeasonRepository.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Company\Brand;
  4. use App\Entity\Event\Workshop;
  5. use App\Entity\User;
  6. use Doctrine\ORM\EntityRepository;
  7. use Doctrine\ORM\Tools\Pagination\Paginator;
  8. class SeasonRepository extends EntityRepository
  9. {
  10.     public function getDefaultSeason()
  11.     {
  12.         $query $this->createQueryBuilder('s')
  13.             ->join('s.brand''b')
  14.             ->andWhere("b.baseInformation.slug = 'defaut'")
  15.             ->setMaxResults(1);
  16.         return $query->getQuery()->getOneOrNullResult();
  17.     }
  18.     public function seasonByUser(User $userbool $limitDate)
  19.     {
  20.         $query $this->createQueryBuilder('s')
  21.             ->join('s.userSeasons''us')
  22.             ->andWhere('us.user = :user')
  23.             ->setParameter('user'$user);
  24.         if ($limitDate) {
  25.             $query
  26.                 ->andWhere('s.startAt <= CURRENT_DATE()')
  27.                 ->andWhere('s.endAt >= CURRENT_DATE()');
  28.         }
  29.         $query->orderBy('s.startAt''DESC');
  30.         return $query;
  31.     }
  32.     public function getCurrentDefaultSeasonByUser(User $userbool $limitDate true)
  33.     {
  34.         $query $this->seasonByUser($user$limitDate);
  35.         return $query->setMaxResults(1)->getQuery()->getOneOrNullResult();
  36.     }
  37.     public function getSeasonsByUser(User $userbool $limitDate true)
  38.     {
  39.         $query $this->seasonByUser($user$limitDate);
  40.         return $query->getQuery()->getResult();
  41.     }
  42. }