get(); // fetch all mapels & jurusans for the modal selects $mapels = MapelUn::paginate(15); $jurusans = Jurusan::all(); // pass everything to the single index/modal view return view('admin.pengetahuanahp', compact('items','mapels','jurusans')); } public function store(Request $request) { $v = $request->validate([ 'mapel_id' => 'required|exists:mapel_un,id', 'jurusan_id' => 'required|exists:jurusan,id', 'cf_value' => 'required|numeric', ]); BasisAhp::create($v); return redirect()->route('admin.basis-ahp.index') ->with('success','Basis AHP added.'); } public function edit(BasisAhp $basisAhp) { // not used since edit happens in modal on index abort(404); } public function update(Request $request, $mapel_id) { foreach ($request->cf_values as $jurusan_id => $cf_value) { BasisAhp::updateOrCreate( ['mapel_id' => $mapel_id, 'jurusan_id' => $jurusan_id], ['cf_value' => $cf_value] ); } return back()->with('success', 'Berhasil diperbarui'); } public function destroy(Request $request) { $request->validate([ 'mapel_id' => 'required|integer', 'jurusan_id' => 'required|integer', ]); BasisAhp::where('mapel_id', $request->mapel_id) ->where('jurusan_id', $request->jurusan_id) ->delete(); return response()->json(['success' => 'Data berhasil dihapus.']); } public function destroyViaUrl($mapel_id, $jurusan_id) { BasisAhp::where('mapel_id', $mapel_id) ->where('jurusan_id', $jurusan_id) ->delete(); return redirect()->back()->with('success', 'Data berhasil dihapus.'); } }