'Sub Kriteria' ]; return view('admin.app.content.subkriteria.index', compact('data')); } public function create($from) { $newKodeKriteria = $this->generateKodeKriteria($from); $data = [ 'subtitle' => 'Tambah baru', 'newKodeKriteria' => $newKodeKriteria, ]; $kriteria = Kriteria::all(); return view('admin.app.content.subkriteria.add', compact('data', 'kriteria', 'from')); } // Metode untuk menghasilkan kode kriteria private function generateKodeKriteria($id_kriteria) { $lastKriteria = SubKriteria::where('kriteria_kode', $id_kriteria)->count(); return $id_kriteria . "-" . str_pad($lastKriteria + 1, 1, '0', STR_PAD_LEFT); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $validator = Validator::make($request->all(), [ 'id_kriteria' => 'required', 'bobot_kriteria' => 'required', ]); if ($validator->fails()) { return redirect()->back()->withInput()->with('error', 'Unexpected error, please try again. code: ' . $validator->errors()->first()); } $input = $request->all(); $post = new Subkriteria([ 'subkriteria_kode' => $input['id_kriteria'], // Membersihkan input judul menggunakan Purifier 'kriteria_kode' => $input['kode_kriteria'], // Membersihkan input deskripsi menggunakan Purifier 'subkriteria_bobot' => $input['bobot_kriteria'], // Membersihkan input deskripsi menggunakan Purifier, 'keterangan' => $input['keterangan'] ]); $check = Subkriteria::where('subkriteria_kode', $input['id_kriteria'])->count(); if ($check == 0) { if ($post->save()) { return redirect()->route('subkriteria')->with('success', 'You have successfully added data'); } else { return redirect()->route('subkriteria')->with('error', 'An error occurred in the query'); } } else { return redirect()->route('subkriteria')->with('error', 'Title already exists'); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($from, $id) { $data = [ 'subtitle' => 'Edit: ' . Subkriteria::where('subkriteria_kode', $id)->first()->title, ]; $subkriteria = Subkriteria::FindOrFail($id); $kriteria = Kriteria::all(); return view('admin.app.content.subkriteria.edit', compact('data', 'kriteria', 'id', 'subkriteria', 'from')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // Validasi input sebelum memperbarui data $validator = Validator::make($request->all(), [ 'id_kriteria' => 'required', 'bobot_kriteria' => 'required', ]); if ($validator->fails()) { return redirect()->back()->withInput()->with('error', 'Unexpected error, please try again. code: ' . $validator->errors()->first()); } // Cari data berdasarkan ID $kriteria = Subkriteria::find($id); // Jika data ditemukan if ($kriteria) { // Update data dengan data baru dari form yang telah dibersihkan $kriteria->subkriteria_kode = $request->input('id_kriteria'); $kriteria->kriteria_kode = $request->input('kode_kriteria'); $kriteria->subkriteria_bobot = $request->input('bobot_kriteria'); $kriteria->keterangan = $request->input('keterangan'); // Simpan perubahan pada database $kriteria->save(); return redirect()->route('subkriteria')->with('success', 'You are successfully update records'); } else { return redirect()->route('subkriteria')->with('error', 'Unexpected error'); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // Cari data berdasarkan ID $post = Subkriteria::find($id); // Jika data ditemukan if ($post) { // Hapus data dari database $post->delete(); return redirect()->route('subkriteria')->with('success', 'You are successfully deleted records'); } else { return redirect()->route('subkriteria')->with('error', 'Data not found'); } } }