get(); $kriterias = Kriteria::with('kurikulum')->get(); return view('admin.subkriteria', compact('subkriterias', 'kriterias')); } public function tambahsubkriteria(Request $request) { $request->validate([ 'kriteria_id' => 'required|exists:kriterias,id', 'pertanyaan' => 'required|string', ]); $pertanyaan = $request->input('pertanyaan'); // Cek apakah ada subkriteria dengan pertanyaan yang duplikat, tanpa memperhatikan kriteria $duplikatPertanyaan = Subkriteria::where('pertanyaan', $pertanyaan)->exists(); if ($duplikatPertanyaan) { toastr()->error('Subkriteria dengan pertanyaan tersebut sudah ada.'); return redirect()->back(); } $subkriteria = new Subkriteria(); $subkriteria->kriteria_id = $request->kriteria_id; $subkriteria->pertanyaan = $pertanyaan; if ($subkriteria->save()) { toastr()->success('Data subkriteria berhasil ditambahkan.'); } else { toastr()->error('Gagal menambahkan data subkriteria.'); } return redirect()->route('subkriteria'); } public function updatesubkriteria(Request $request, $id) { $request->validate([ 'kriteria_id' => 'required|exists:kriterias,id', 'pertanyaan' => 'required|string', ]); $pertanyaan = $request->input('pertanyaan'); // Cek apakah ada pertanyaan yang duplikat di subkriteria lain (kecuali yang sedang diedit) $duplikatPertanyaan = Subkriteria::where('pertanyaan', $pertanyaan) ->where('id', '!=', $id) ->exists(); if ($duplikatPertanyaan) { toastr()->error('Subkriteria dengan pertanyaan tersebut sudah ada.'); return redirect()->back(); } $subkriteria = Subkriteria::findOrFail($id); $subkriteria->kriteria_id = $request->kriteria_id; $subkriteria->pertanyaan = $pertanyaan; if ($subkriteria->save()) { toastr()->success('Data subkriteria berhasil diperbarui.'); } else { toastr()->error('Gagal memperbarui data subkriteria.'); } return redirect()->route('subkriteria')->with('reload', true); } public function hapussubkriteria($id) { $subkriteria = Subkriteria::findOrFail($id); $subkriteria->delete(); toastr()->success('Data subkriteria berhasil dihapus.'); return redirect()->route('subkriteria'); } public function downloadsubkriteria() { // Ambil data sekolah dari database $subkriterias = Subkriteria::all(); $pdf = Pdf::loadView('admin.subkriteriapdf', compact('subkriterias')); // Download file PDF return $pdf->download('data_subkriteria.pdf'); } }