filled('search')) { $search = $request->search; $query->where(function ($q) use ($search) { $q->where('student_log_id', 'like', "%{$search}%") ->orWhere('module_code', 'like', "%{$search}%") ->orWhere('module_name', 'like', "%{$search}%"); }); } if ($request->filled('academic_year')) { $query->where('academic_year', 'like', "%{$request->academic_year}%"); } if ($request->filled('status')) { $query->where('status', $request->status); } $results = $query->orderBy('id', 'desc')->paginate(15)->withQueryString(); return view('admin.adminresults', compact('results')); } public function store(Request $request) { $validated = $request->validate([ 'student_log_id' => 'required|string|max:255', 'module_code' => 'required|string|max:255', 'module_name' => 'required|string|max:255', 'academic_year' => 'required|string|max:255', 'semester' => 'required|string|max:255', 'marks' => 'required|numeric|min:0|max:100', 'grade' => 'required|string|max:10', 'status' => 'required|in:Pass,Fail', ]); Result::create($validated); return redirect()->route('admin.results')->with('success', 'Exam result added successfully.'); } public function update(Request $request, $id) { $validated = $request->validate([ 'student_log_id' => 'required|string|max:255', 'module_code' => 'required|string|max:255', 'module_name' => 'required|string|max:255', 'academic_year' => 'required|string|max:255', 'semester' => 'required|string|max:255', 'marks' => 'required|numeric|min:0|max:100', 'grade' => 'required|string|max:10', 'status' => 'required|in:Pass,Fail', ]); $result = Result::findOrFail($id); $result->update($validated); return redirect()->route('admin.results')->with('success', 'Exam result updated successfully.'); } public function destroy($id) { $result = Result::findOrFail($id); $result->delete(); return redirect()->route('admin.results')->with('success', 'Exam result deleted successfully.'); } public function import(Request $request) { $request->validate([ 'excel_file' => 'required|mimes:xlsx,xls,csv|max:2048' ]); Excel::import(new ResultsImport, $request->file('excel_file')); return redirect()->route('admin.results')->with('success', 'Excel file imported successfully!'); } }