81 lines
2.2 KiB
PHP
81 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Penyakit;
|
|
|
|
class PenyakitController extends Controller
|
|
{
|
|
// Menampilkan semua data penyakit
|
|
public function index()
|
|
{
|
|
$penyakit = Penyakit::all();
|
|
return view('admin.penyakit', compact('penyakit'));
|
|
}
|
|
|
|
// Menyimpan data penyakit baru
|
|
public function store(Request $request)
|
|
{
|
|
$request->validate([
|
|
'kode' => 'required|unique:penyakit',
|
|
'nama_penyakit' => 'required',
|
|
'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048'
|
|
]);
|
|
|
|
$gambarPath = null;
|
|
|
|
if ($request->hasFile('gambar')) {
|
|
$gambarPath = $request->file('gambar')->store('penyakit', 'public');
|
|
}
|
|
|
|
Penyakit::create([
|
|
'kode' => $request->kode,
|
|
'nama_penyakit' => $request->nama_penyakit,
|
|
'gambar' => $gambarPath
|
|
]);
|
|
|
|
return redirect()->route('admin.penyakit')->with('success', 'Penyakit berhasil ditambahkan!');
|
|
}
|
|
|
|
// Hapus data penyakit
|
|
public function destroy($id)
|
|
{
|
|
$penyakit = Penyakit::findOrFail($id);
|
|
$penyakit->delete();
|
|
|
|
return redirect()->route('admin.penyakit')->with('success', 'Penyakit berhasil dihapus!');
|
|
}
|
|
// Menampilkan form edit penyakit
|
|
public function edit($id)
|
|
{
|
|
$penyakit = Penyakit::findOrFail($id);
|
|
return view('admin.editpenyakit', compact('penyakit'));
|
|
}
|
|
|
|
// Memproses update penyakit
|
|
public function update(Request $request, $id)
|
|
{
|
|
$request->validate([
|
|
'kode' => 'required|string|max:10',
|
|
'nama_penyakit' => 'required|string|max:255',
|
|
'gambar' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048'
|
|
]);
|
|
|
|
$penyakit = Penyakit::findOrFail($id);
|
|
|
|
// Jika ada gambar baru
|
|
if ($request->hasFile('gambar')) {
|
|
$gambarPath = $request->file('gambar')->store('penyakit', 'public');
|
|
$penyakit->gambar = $gambarPath;
|
|
}
|
|
|
|
$penyakit->kode = $request->kode;
|
|
$penyakit->nama_penyakit = $request->nama_penyakit;
|
|
$penyakit->save();
|
|
|
|
return redirect()->route('admin.penyakit')->with('success', 'Penyakit berhasil diperbarui!');
|
|
}
|
|
|
|
}
|