validated(); $department = new Department(); $department->name = $validated['name']; $department->description = $validated['description']; $department->position = $validated['position']; $department->faculty_id = $validated['faculty_id']; $department->save(); return redirect()->route('departments.index'); } public function show(Department $department): View|Application|Factory|\Illuminate\Contracts\Foundation\Application { $faculty = Faculty::find($department->faculty->id); $educationalInstitution = $faculty->educationalInstitution; return view('admin.catalog.department.show', compact('department', 'faculty', 'educationalInstitution')); } public function edit(Department $department): View|Application|Factory|\Illuminate\Contracts\Foundation\Application { $faculties = Faculty::pluck('name', 'id'); return view('admin.catalog.department.edit', compact('department', 'faculties')); } public function update(UpdateDepartmentRequest $request, Department $department): RedirectResponse { $validated = $request->validated(); $department->name = $validated['name']; $department->description = $validated['description']; $department->position = $validated['position']; $department->faculty_id = $validated['faculty_id']; $department->save(); return redirect()->route('departments.index'); } public function destroy(Department $department): RedirectResponse { if ($department->directions()->exists()) { return back(); } $department->delete(); return redirect()->route('departments.index'); } }