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}%"); }); } // 2. Academic Year මගින් Filter කිරීම if ($request->filled('academic_year')) { $query->where('academic_year', 'like', "%{$request->academic_year}%"); } // 3. Pass/Fail Status මගින් Filter කිරීම if ($request->filled('status')) { $query->where('status', $request->status); } // Filter වූ Data Pagination (පිටුවකට 15 බැගින්) සමග ලබා ගැනීම // (Pagination අවශ්‍ය නැතිනම් ->paginate(15) වෙනුවට ->get() භාවිතා කරන්න) $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 file එක Import කිරීම Excel::import(new ResultsImport, $request->file('excel_file')); // Upload වූ පසු කෙලින්ම Admin Results Table එකට Redirect කිරීම return redirect()->route('admin.results')->with('success', 'Excel file imported successfully!'); } }