children()->first(); $today = date('Ymd'); $previousEvents = new Pages(); $nextEvents = new Pages(); $currentSeasonSessions = []; foreach ($currentSeason->children() as $event) { $sessions = $event->isMapadoEvent() == 'true' ? $event->remoteSessions() : $event->sessions(); $isStillShowing = false; foreach ($sessions->toStructure() as $session) { $currentSeasonSessions[] = $session->toArray(); $sessionDate = str_replace('-', '', $session->date()->toDate('YMMdd')); if ($sessionDate >= $today) { $isStillShowing = true; break; } } if ($isStillShowing) { $nextEvents->add($event); } else { $previousEvents->add($event); } } return [ 'previousEvents' => $previousEvents, 'nextEvents' => $nextEvents, 'currentSeasonSessions' => sortByMonth($currentSeasonSessions) ]; };