get(); $kurikulums = Kurikulum::all(); return view('admin.mapel', compact('mapels', 'kurikulums')); } public function tambahmapel(Request $request) { $request->validate([ 'kurikulum_id' => 'required|exists:kurikulums,id', 'nama' => 'required|string', 'kategori' => 'required|string', ]); $nama = $request->input('nama'); // Cek apakah ada mapel dengan nama yang duplikat, tanpa memperhatikan kategori dan kurikulum $duplikatNama = Mapel::where('nama', $nama) ->exists(); if ($duplikatNama) { toastr()->error('Mapel dengan nama tersebut sudah ada.'); return redirect()->back(); } $mapel = new Mapel(); $mapel->kurikulum_id = $request->kurikulum_id; $mapel->nama = $nama; $mapel->kategori = $request->kategori; if ($mapel->save()) { toastr()->success('Data mata pelajaran berhasil ditambahkan.'); } else { toastr()->error('Gagal menambahkan data mata pelajaran.'); } return redirect()->route('mapel'); } public function updatemapel(Request $request, $id) { $request->validate([ 'kurikulum_id' => 'required|exists:kurikulums,id', 'nama' => 'required|string', 'kategori' => 'required|string', ]); $mapel = Mapel::findOrFail($id); // Ambil nilai dari request $nama = $request->input('nama'); // Cek apakah ada mapel dengan nama yang duplikat, tanpa memperhatikan kategori dan kurikulum $duplikatNama = Mapel::where('nama', $nama) ->where('id', '!=', $id) ->exists(); if ($duplikatNama) { toastr()->error('Mata pelajaran dengan nama tersebut sudah ada.'); return redirect()->back(); } $mapel->kurikulum_id = $request->kurikulum_id; $mapel->nama = $nama; $mapel->kategori = $request->kategori; if ($mapel->save()) { toastr()->success('Data mata pelajaran berhasil diperbarui.'); } else { toastr()->error('Gagal memperbarui data mata pelajaran.'); } return redirect()->route('mapel')->with('reload', true); } public function hapusmapel($id) { $mapel = Mapel::findOrFail($id); $mapel->delete(); toastr()->success('Data mata pelajaran berhasil dihapus.'); return redirect()->route('mapel'); } public function downloadmapel() { // Ambil data sekolah dari database $mapels = Mapel::all(); $pdf = Pdf::loadView('admin.mapelpdf', compact('mapels')); // Download file PDF return $pdf->download('data_mapels.pdf'); } }