Exemple #1
0
 public function findMostInterestingByWeek(Week $week, $limit)
 {
     //For now, we define 'most interesting' as 'lasts the longest period of time'
     $qb = $this->createQueryBuilder('s');
     $qb->leftJoin('s.performances', 'p')->where('p.start_date < :end')->andWhere('p.end_date > :start')->andWhere('s.authorised_by is not null')->andWhere('s.entered = true')->setParameter('start', $week->getStartAt())->setParameter('end', $week->getEndAt())->orderBy('p.end_date - p.start_date', 'DESC')->setMaxResults($limit);
     return $qb->getQuery()->getResult();
 }
Exemple #2
0
 private function getWeekFromDate(\DateTime $date)
 {
     $date = clone $date;
     $week = new Week();
     if ($period = $this->periodRepository->findAt($date)) {
         $week->setName($period->getShortName());
         $week->setShortName('');
     }
     $week->setStartAt(clone $date);
     $date->modify('+1 week');
     $week->setEndAt($date);
     $week->setShortName('');
     return $week;
 }