andWhere(['id_customer' => $idCustomer]) // ->andWhere(['>=', 'event.start', $now->getTimestamp()]) ->all(); $result = []; $eventManager = new EventManager(); foreach ($eventRegistrations as $registration ){ $dto = EventRegistrationDTO::fromEventRegistration($registration); $event = $eventManager->findActiveEvent($registration->id_event, $interval,true); if ( isset($event)){ $dto->event = EventDTO::fromEventWithRelatedObjects($event); $result[] = $dto; } } return $result; } /** * @throws NotFoundHttpException */ public function findRegistration($id_registration, $id_customer) { $interval = EventInterval::createInterval(); $registration = EventRegistration::findOne(['id' => $id_registration, 'id_customer' => $id_customer]); if ( !isset($registration)){ throw new NotFoundHttpException(); } $eventManager = new EventManager(); $event = $eventManager->findActiveEvent($registration->id_event,$interval,true); if ( !isset($event)){ throw new NotFoundHttpException(); } return EventRegistrationDTO::fromEventRegistrationWithEvent($registration,$event); } }