ajax()) { $data = Penyakit::select('*')->orderBy('id_penyakit', 'DESC'); // Convert the Eloquent Collection to a regular PHP array $data->each(function ($item, $key) { $item->rowIndex = $key + 1; }); return Datatables::of($data) ->addIndexColumn() ->addColumn('title-post', function($row){ $text = '

' . $row->gejala . '

'; return $text; }) ->addColumn('jenis_gejala', function($row){ return $row->gejala; }) ->rawColumns(['title-post', 'jenis_gejala']) ->make(true); } $data = [ 'subtitle' => 'Kerusakan', 'button' => true, 'module' => [ 'url' => route('penyakit.create'), 'name' => 'Tambah Baru' ] ]; return view('admin.app.content.penyakit.index', compact('data')); } public function create() { $data = [ 'subtitle' => 'Tambah baru', ]; $gejala = Gejala::all(); return view('admin.app.content.penyakit.add', compact('data', 'gejala')); } /** * 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(), [ 'gejala' => 'required', 'kode_penyakit' => 'required', 'penyakit' => 'required', 'penanganan' => 'required', 'penjelasan' => 'required', 'youtube' => 'required', ]); if ($validator->fails()) { return redirect()->back()->withInput()->with('error', 'Unexpected error, please try again. code: ' . $validator->errors()->first()); } $input = $request->all(); $post = new Penyakit([ 'gejala' => $input['gejala'], // Membersihkan input judul menggunakan Purifier 'nama_penyakit' => $input['penyakit'], // Membersihkan input deskripsi menggunakan Purifier 'penanganan' => $input['penanganan'], // Membersihkan input deskripsi menggunakan Purifier 'penjelasan' => $input['penjelasan'], // Membersihkan input deskripsi menggunakan Purifier 'kode_penyakit' => $input['kode_penyakit'], // Membersihkan input deskripsi menggunakan Purifier 'youtube' => $input['youtube'], ]); $check = Penyakit::where('nama_penyakit', $input['gejala'])->count(); if ($check == 0) { if ($post->save()) { return redirect()->route('penyakit')->with('success', 'You have successfully added data'); } else { return redirect()->route('penyakit')->with('error', 'An error occurred in the query'); } } else { return redirect()->route('penyakit')->with('error', 'Title already exists'); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $data = [ 'subtitle' => 'Edit Kerusakan: ' . Penyakit::where('id_penyakit', $id)->first()->title, ]; $penyakit = Penyakit::FindOrFail($id); $gejala = Gejala::all(); return view('admin.app.content.penyakit.edit', compact('data','gejala', 'id', 'penyakit')); } /** * 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(), [ 'gejala' => 'required', 'kode_penyakit' => 'required', 'nama_penyakit' => 'required', 'penanganan' => 'required', 'penjelasan' => 'required', 'youtube' => 'required', ]); if ($validator->fails()) { return redirect()->back()->withInput()->with('error', 'Unexpected error, please try again. code: ' . $validator->errors()->first()); } // Cari data berdasarkan ID $gejala = Penyakit::find($id); // Jika data ditemukan if ($gejala) { // Update data dengan data baru dari form yang telah dibersihkan $gejala->gejala = $request->input('gejala'); $gejala->nama_penyakit = $request->input('nama_penyakit'); $gejala->penjelasan = $request->input('penjelasan'); $gejala->penanganan = $request->input('penanganan'); $gejala->youtube = $request->input('youtube'); $gejala->kode_penyakit = $request->input('kode_penyakit'); // Simpan perubahan pada database $gejala->save(); return redirect()->route('penyakit')->with('success', 'You are successfully added new records'); } else { return redirect()->route('penyakit')->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 = Penyakit::find($id); // Jika data ditemukan if ($post) { // Hapus data dari database $post->delete(); return redirect()->route('penyakit')->with('success', 'You are successfully deleted records'); } else { return redirect()->route('penyakit')->with('error', 'Data not found'); } } }