diff --git a/app/Http/Controllers/Api/CalculatorController.php b/app/Http/Controllers/Api/CalculatorController.php new file mode 100644 index 0000000..0843879 --- /dev/null +++ b/app/Http/Controllers/Api/CalculatorController.php @@ -0,0 +1,38 @@ +input(); + $countUserSubjects = count($getsSubjects); +// $entranceExamination = EntranceExamination::all() +// ->whereIn('subject_id', $result) +// ->where('subject_type_id','=',1) +// ->select('subject_id','direction_id') +// ->whereIn('subject_id', $result) +// ->groupBy('direction_id') + +// ->toArray(); +// dd($entranceExamination); +// $directions = Direction::all(); + $findIds = EntranceExamination::all() + ->select("direction_id", "subject_id") + ->groupBy('direction_id') + ->map(function ($direction) { + return $direction->map(fn($item) => $item['subject_id']); + }) + ->filter(fn ($direction) => count($direction) <= $countUserSubjects) + ->keys(); + $directions = Direction::whereIn('id', $findIds)->get(); + return response()->json($directions); + } +} diff --git a/routes/api.php b/routes/api.php index 783eeb6..266f7d6 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,6 +1,7 @@ get('/user', function (Request $request) { return $request->user(); }); -Route::post('/calc', [PageController::class, 'calculator'])->name('calculator'); +Route::post('/calculator', [CalculatorController::class, 'findDirectionFromSubjects'])->name('calculator');