From 19b075c755b049caff8e91f9d8f78d8746130dcf Mon Sep 17 00:00:00 2001 From: aslan Date: Thu, 7 Mar 2024 13:58:54 +0300 Subject: [PATCH] add api calculator --- .../Controllers/Api/CalculatorController.php | 38 +++++++++++++++++++ routes/api.php | 3 +- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 app/Http/Controllers/Api/CalculatorController.php 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');