collection('current-season')->children() as $event) { $sessions = $event->isMapadoEvent() == 'true' ? $event->remoteSessions()->toStructure() : $event->sessions()->toStructure(); $sessionDates = $sessions->map(function($session) { return $session->date()->value(); })->data; if (!empty($sessionDates)) { $orderedSeason->add($event); } } // Trier les événements en fonction de la date la plus proche $orderedSeason = $orderedSeason->sortBy(function ($event) { $sessions = $event->isMapadoEvent() == 'true' ? $event->remoteSessions()->toStructure() : $event->sessions()->toStructure(); $sessionDates = $sessions->map(function($session) { return $session->date()->value(); })->data; return min($sessionDates); }); return $orderedSeason; };