/** * * @return Array */ protected function getRecurringInstances(QueryBuilder $qb, \DateTime $dateFrom, \DateTime $dateTo) { $events = array(); $qb->andWhere($qb->expr()->isNotNull($qb->getRootAliases()[0] . '.recurrenceRule')); $recurringEvents = $qb->getQuery()->getResult(); $eventUtil = new EventUtil($this->getEntityManager()); foreach ($recurringEvents as $recurringEvent) { /* @var $recurringEvent \Xima\ICalBundle\Entity\Component\Event */ $events = array_merge($events, $eventUtil->getInstances($recurringEvent, $dateFrom, $dateTo)); } return $events; }