addHour(), function () { return $this->getEducationsData(); }); } private function getEducationsData(): array { return [ 'admission_campaign' => $this->getAdmissionCampaign(), 'additional_education' => [ 'educations_count' => AdditionalEducation::where('is_active', true)->count(), 'categories_count' => AdditionalEducationCategory::where('is_active', true)->count(), ], ]; } private function getAdmissionCampaign(): array { $info = AdmissionCampaign::first()->info ?? []; return collect($info)->reduce(function ($carry, $a) { $lvl = LevelEducational::from((int)$a['edu_name'])->name; $carry[$lvl] = [ 'total_programs' => $a['total_programs'], 'places' => [ 'och_count' => $a['och_count'], 'zaoch_count' => $a['zaoch_count'], 'budget_places' => $a['budget_places'], 'non_budget_places' => $a['non_budget_places'] ], ]; return $carry; }, []); } }