user(); $departmentIds = $user->departments()->pluck('rf_department_id'); $departments = Department::whereIn('department_id', $departmentIds)->orderBy('name_short')->get(); return response()->json($departments); } public function getDepartmentUsers(Department $department, Request $request) { $onlyUserDepartment = filter_var($request->query('onlyUserDepartment', false), FILTER_VALIDATE_BOOLEAN); $type = $request->query('type', 'duty'); if ($onlyUserDepartment) { $departmentId = $department->rf_mis_department_id; } else { $user = Auth::user(); $departmentId = $user->department->rf_mis_department_id; } $users = MisLpuDoctor::select(['LPUDoctorID', 'FAM_V', 'IM_V', 'OT_V']) ->whereHas('prvds', function ($query) use ($departmentId, $type) { $query->when($type === 'nurse', function ($query) { $query->whereIn('rf_PRVDID', [1567, 1629]); }) ->where('rf_DepartmentID', $departmentId) ->whereDate('D_END', '2222-01-01 00:00:00.000000'); }) ->active() ->whereNotIn('LPUDoctorID', [0, 1]) ->orderBy('FAM_V') ->get(); return response()->json([ ...$users, ])->setStatusCode(200); } }