'Kode penyakit harus diisi.', 'kodepenyakit.string' => 'Kode penyakit harus berupa string.', 'kodepenyakit.max' => 'Kode penyakit tidak boleh lebih dari 10 karakter.', 'penyakit.required' => 'Penyakit harus diisi.', 'penyakit.string' => 'Penyakit harus berupa string.', 'penyakit.max' => 'Penyakit tidak boleh lebih dari 50 karakter.', 'deskripsi.required' => 'Deskripsi harus diisi.', 'deskripsi.string' => 'Deskripsi harus berupa string.', 'penanganan.required' => 'Penanganan harus diisi.', 'penanganan.string' => 'Penanganan harus berupa string.', ]; $validatedData = $request->validate([ 'kodepenyakit' => 'required|string|max:10', 'penyakit' => 'required|string|max:50', 'deskripsi' => 'required|string', 'penanganan' => 'required|string' ], $messages); $existingSymptom = disease::where('code', $validatedData['kodepenyakit']) ->orWhere('name', $validatedData['penyakit']) ->first(); if ($existingSymptom) { return back()->withErrors(['error' => 'Penyakit dengan kode atau nama yang sama sudah ada.']); } $disease = new disease(); $disease->code = $validatedData['kodepenyakit']; $disease->name = $validatedData['penyakit']; $disease->description = $validatedData['deskripsi']; $disease->solution = $validatedData['penanganan']; if ($request->hasFile('image_path')) { $image = $request->file('image_path'); $imageName = time() . '.' . $image->getClientOriginalName(); $image->move(public_path('image_path'), $imageName); $disease->image_path = $imageName; } $disease->save(); return back()->with('success', 'Penyakit berhasil ditambahkan.'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $messages = [ 'penyakit.required' => 'Penyakit harus diisi.', 'penyakit.string' => 'Penyakit harus berupa string.', 'penyakit.max' => 'Penyakit tidak boleh lebih dari 50 karakter.', 'deskripsi.required' => 'Deskripsi harus diisi.', 'deskripsi.string' => 'Deskripsi harus berupa string.', 'penanganan.required' => 'Penanganan harus diisi.', 'penanganan.string' => 'Penanganan harus berupa string.', ]; $validatedData = $request->validate([ 'penyakit' => 'required|string|max:500', 'deskripsi' => 'required|string', 'penanganan' => 'required|string' ], $messages); $disease = disease::findOrFail($id); $disease->name = $validatedData['penyakit']; $disease-> description = $validatedData['deskripsi']; $disease->solution = $validatedData['penanganan']; if ($request->hasFile('image_path')) { $oldFile = 'image_path/' . $disease->image_path; if (File::exists($oldFile)) { File::delete($oldFile); } $newFileName = $request->file('image_path')->getClientOriginalName(); $request->file('image_path')->move(public_path('image_path/'), $newFileName); $disease->image_path = $newFileName; } $disease->save(); return back()->with('success', 'Penyakit berhasil diupdate.'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Request $request, $id) { $disease = disease::findOrFail($id); $oldFile = public_path('image_path/' . $disease->image_path); if (File::exists($oldFile)) { File::delete($oldFile); } $disease->delete(); return back()->with('success', 'Berhasil menghapus.'); } }