get(); return view('server-side.pages.manajemen-data.penyakit.data', compact([ 'numtab', 'penyakit' ])); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $penyakitId = (new Penyakit())->generateId(); return view('server-side.pages.manajemen-data.penyakit.create', compact('penyakitId')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'penyakit' => ['required'], 'deskripsi' => ['required'], 'solusi' => ['required'], ]); Penyakit::create($request->all()); return Redirect::route('penyakit.index')->with('message', 'Berhasil menambah data penyakit baru'); } /** * Display the specified resource. * * @param \App\Models\Penyakit $penyakit * @return \Illuminate\Http\Response */ public function show(Penyakit $penyakit) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Penyakit $penyakit * @return \Illuminate\Http\Response */ public function edit(Penyakit $penyakit) { return view('server-side.pages.manajemen-data.penyakit.edit', compact('penyakit')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Penyakit $penyakit * @return \Illuminate\Http\Response */ public function update(Request $request, Penyakit $penyakit) { $request->validate([ 'penyakit' => ['required'], 'deskripsi' => ['required'], 'solusi' => ['required'], ]); Penyakit::find($penyakit->penyakitId)->update($request->all()); return Redirect::route('penyakit.index')->with('message', 'Berhasil melakukan perubahan pada data penyakit yang dipilih'); } /** * Remove the specified resource from storage. * * @param \App\Models\Penyakit $penyakit * @return \Illuminate\Http\Response */ public function destroy(Penyakit $penyakit) { $gejalaIds = Rule::where('penyakitId', $penyakit->penyakitId)->pluck('gejalaId')->unique(); $penyakit->delete(); foreach ($gejalaIds as $gejalaId) { $rules = Rule::where('gejalaId', $gejalaId)->get(); $totalNilaiPakar = $rules->sum('nilaiPakar'); $jumlahGejala = $rules->count(); $belief = $jumlahGejala > 0 ? $totalNilaiPakar / $jumlahGejala : 0; Rule::where('gejalaId', $gejalaId)->update(['belief' => $belief]); } return Redirect::route('penyakit.index')->with('message', 'Berhasil menghapus data penyakit yang dipilih'); } }