diff --git a/app/Http/Controllers/admin/DaftarGejalaController.php b/app/Http/Controllers/admin/DaftarGejalaController.php index 7572873..d2e31d8 100644 --- a/app/Http/Controllers/admin/DaftarGejalaController.php +++ b/app/Http/Controllers/admin/DaftarGejalaController.php @@ -20,11 +20,19 @@ public function store(Request $request) $request->validate([ 'kode_gejala' => 'required|unique:gejala,kode_gejala|max:10', 'nama_gejala' => 'required|string|max:255', + 'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif', + ]); + // Upload gambar + $gambar = $request->file('gambar'); + $namaGambar = time() . '_' . $gambar->getClientOriginalName(); + $gambar->move(public_path('assets/images'), $namaGambar); + Gejala::create([ 'kode_gejala' => $request->kode_gejala, 'nama_gejala' => $request->nama_gejala, + 'gambar' => $namaGambar ]); return redirect()->back()->with('success', 'Gejala berhasil ditambahkan.'); @@ -35,17 +43,41 @@ public function update(Request $request, $id) $request->validate([ 'kode_gejala' => 'required|max:10', 'nama_gejala' => 'required|string|max:255', + 'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif', ]); $gejala = Gejala::findOrFail($id); - $gejala->update([ - 'kode_gejala' => $request->kode_gejala, - 'nama_gejala' => $request->nama_gejala, - ]); + + // Update data teks terlebih dahulu + $gejala->kode_gejala = $request->kode_gejala; + $gejala->nama_gejala = $request->nama_gejala; + + // Jika ada gambar baru, upload dan ganti gambar + if ($request->hasFile('gambar')) { + // Hapus gambar lama jika ada + if ($gejala->gambar) { + $gambarPath = public_path('assets/images/' . $gejala->gambar); + if (file_exists($gambarPath)) { + unlink($gambarPath); + } + } + + // Upload gambar baru + $gambar = $request->file('gambar'); + $namaGambar = time() . '_' . $gambar->getClientOriginalName(); + $gambar->move(public_path('assets/images'), $namaGambar); + + // Simpan nama gambar baru + $gejala->gambar = $namaGambar; + } + + // Simpan perubahan ke database + $gejala->save(); return redirect()->route('daftargejala')->with('success', 'Gejala berhasil diperbarui.'); } + public function destroy($id) { DB::table('gejala')->where('id', $id)->delete(); diff --git a/app/Http/Controllers/admin/DaftarPenyakitController.php b/app/Http/Controllers/admin/DaftarPenyakitController.php index 1c293f3..853e6ba 100644 --- a/app/Http/Controllers/admin/DaftarPenyakitController.php +++ b/app/Http/Controllers/admin/DaftarPenyakitController.php @@ -28,7 +28,7 @@ public function store(Request $request) 'subjudul' => 'required|string|max:150', 'deskripsi' => 'required|string', 'penanganan' => 'required|string', - 'gambar' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048', + 'gambar' => 'required|image|mimes:jpeg,png,jpg,gif', 'gejala' => 'required|array', // Memastikan gejala yang dipilih adalah array 'gejala.*' => 'exists:gejala,id', // Memastikan ID gejala ada di tabel gejala ]); @@ -68,7 +68,7 @@ public function update(Request $request, $id) 'subjudul' => 'required|string|max:150', 'deskripsi' => 'required|string', 'penanganan' => 'required|string', - 'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', + 'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif', 'gejala' => 'required|array', // Validasi gejala yang dipilih 'gejala.*' => 'exists:gejala,id', ]); diff --git a/app/Models/Gejala.php b/app/Models/Gejala.php index 9871ae4..1ea435e 100644 --- a/app/Models/Gejala.php +++ b/app/Models/Gejala.php @@ -16,7 +16,8 @@ class Gejala extends Model // Relasi ke tabel penyakit melalui pivot 'rules' protected $fillable = [ 'kode_gejala', - 'nama_gejala' + 'nama_gejala', + 'gambar' ]; public function penyakit() { diff --git a/public/assets/images/1746494858_umbi-membusuk.jpg b/public/assets/images/1746494858_umbi-membusuk.jpg new file mode 100644 index 0000000..dc29e53 Binary files /dev/null and b/public/assets/images/1746494858_umbi-membusuk.jpg differ diff --git a/public/assets/images/1746494868_umbi-membusuk.jpg b/public/assets/images/1746494868_umbi-membusuk.jpg new file mode 100644 index 0000000..dc29e53 Binary files /dev/null and b/public/assets/images/1746494868_umbi-membusuk.jpg differ diff --git a/public/assets/images/1746494925_umbi-membusuk.jpg b/public/assets/images/1746494925_umbi-membusuk.jpg new file mode 100644 index 0000000..dc29e53 Binary files /dev/null and b/public/assets/images/1746494925_umbi-membusuk.jpg differ diff --git a/public/assets/images/1746495514_bercakungugejala.jpg b/public/assets/images/1746495514_bercakungugejala.jpg new file mode 100644 index 0000000..b24b4c9 Binary files /dev/null and b/public/assets/images/1746495514_bercakungugejala.jpg differ diff --git a/public/assets/images/1746495597_ujungpatah.jpeg b/public/assets/images/1746495597_ujungpatah.jpeg new file mode 100644 index 0000000..f7cce4b Binary files /dev/null and b/public/assets/images/1746495597_ujungpatah.jpeg differ diff --git a/public/assets/images/1746495905_umbibawanghitam.jpg b/public/assets/images/1746495905_umbibawanghitam.jpg new file mode 100644 index 0000000..caad319 Binary files /dev/null and b/public/assets/images/1746495905_umbibawanghitam.jpg differ diff --git a/public/assets/images/1746496140_melekuk.jpg b/public/assets/images/1746496140_melekuk.jpg new file mode 100644 index 0000000..5f50510 Binary files /dev/null and b/public/assets/images/1746496140_melekuk.jpg differ diff --git a/public/assets/images/foto_pakar.jpg b/public/assets/images/foto_pakar.jpg new file mode 100644 index 0000000..19b032a Binary files /dev/null and b/public/assets/images/foto_pakar.jpg differ diff --git a/public/assets/images/matipucuk.jpg b/public/assets/images/matipucuk.jpg deleted file mode 100644 index 25375e7..0000000 Binary files a/public/assets/images/matipucuk.jpg and /dev/null differ diff --git a/public/assets/images/umbi-membusuk.jpg b/public/assets/images/umbi-membusuk.jpg new file mode 100644 index 0000000..dc29e53 Binary files /dev/null and b/public/assets/images/umbi-membusuk.jpg differ diff --git a/resources/views/layouts/admin/daftargejala.blade.php b/resources/views/layouts/admin/daftargejala.blade.php index 0db430b..dac6431 100644 --- a/resources/views/layouts/admin/daftargejala.blade.php +++ b/resources/views/layouts/admin/daftargejala.blade.php @@ -34,6 +34,7 @@ Kode Gejala Nama Gejala + Gambar Aksi @@ -41,6 +42,7 @@ Kode Gejala Nama Gejala + Gambar Aksi @@ -49,6 +51,9 @@ {{ $gejala->kode_gejala }} {{ $gejala->nama_gejala }} + + Gambar Gejala +
@csrf @@ -70,7 +75,7 @@ @foreach($gejala_list as $gejala)