"id", "start" => "start", "end" => "end", "deleted_at" => "deleted_at", "seat_count" => "seat_count", "active" => "active", "reservationCount" => "registrationCount", "hasFreeSeats" => "hasFreeSeats", "registrations" => "eventRegistrations", ]; $fields['trainer'] = 'trainer'; $fields['eventType'] = 'eventType'; $fields['room'] = 'room'; // $fields['registrations'] = 'eventRegistrations'; return $fields; } /** * @param $event /common/models/Event */ public static function fromEvent($event) { $dto = new EventDTO(); $dto->id = $event->id; $dto->start = $event->start; $dto->end = $event->end; $dto->seat_count = $event->seat_count; $dto->created_at = $event->created_at; $dto->updated_at = $event->updated_at; $dto->deleted_at = AppDateTimeHelper::convertMySqlDatetimeToPhpInteger($event->deleted_at); $dto->active = $event->active; return $dto; } public static function fromEventWithRelatedObjects($event){ $eventDto = EventDTO::fromEvent($event); $eventDto->trainer = TrainerDTO::fromTrainer($event->trainer); $eventDto->room = RoomDTO::fromRoom($event->room); $eventDto->eventType = EventTypeDTO::fromEventType($event->eventType); return $eventDto; } }