middleware('auth'); parent::__construct(); } public function index(Request $request) { if ($request->ajax()) { $data = NilaiKeyakinanCF::all(); return DataTables::of($data) ->addIndexColumn() ->addColumn('action', function ($data) { return 'Ubah ' . ''; }) ->rawColumns(['action']) ->make(true); } return view('nilai-keyakinan-cf.index'); } public function add() { return view('nilai-keyakinan-cf.create'); } public function store(Request $request) { $request->validate([ 'istilah' => 'required|max:255', 'nilai' => 'required|numeric', ]); $data = new NilaiKeyakinanCF(); $data->istilah = $request->istilah; $data->nilai = $request->nilai; try { $data->save(); return redirect()->route('nilai-keyakinan-cf.index')->with('success', 'Data Berhasil Ditambahkan'); } catch (\Exception $e) { return back()->withInput()->withErrors(['error' => $e->getMessage()]); } } public function edit($id) { $data = NilaiKeyakinanCF::findOrFail($id); return view('nilai-keyakinan-cf.edit', compact('data', 'id')); } public function update(Request $request) { $id = $request->id; $request->validate([ 'istilah' => 'required|max:255', 'nilai' => 'required|numeric', ]); $data = NilaiKeyakinanCF::findOrFail($id); $data->istilah = $request->istilah; $data->nilai = $request->nilai; $data->save(); return redirect()->route('nilai-keyakinan-cf.index')->with('success', 'Data Berhasil Diubah'); } public function delete(Request $request) { $id = $request->id; $data = NilaiKeyakinanCF::findOrFail($id); try { $data->delete(); return response()->json(['status' => 'success', 'message' => 'Berhasil Menghapus Data']); } catch (\Illuminate\Database\QueryException $ex) { if ($ex->getCode() === '23000') return response()->json(['status' => 'error', 'message' => 'Gagal Menghapus Data: Terdapat Ketergantungan Data.']); } catch (\Throwable $e) { return response()->json(['status' => 'error', 'message' => 'Terjadi Kesalahan: ' . $e->getMessage()]); } } }