TIF_E41201781/app/Http/Controllers/NpakarController.php

83 lines
2.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Npakar;
use App\Models\Penyakit;
use App\Models\Gejala;
use Illuminate\Http\Request;
class NpakarController extends Controller
{
public function index(){
$npakar = Npakar::all();
return view('npakar.index',compact(['npakar']));
}
public function create()
{
// Mengambil data kode penyakit dan nama penyakit dari model Penyakit
$penyakit = Penyakit::select('kode_penyakit', 'nama_penyakit')->get();
// Mengambil data kode gejala dan nama gejala dari model Gejala
$gejala = Gejala::select('kode_gejala', 'nama_gejala')->get();
// Mengirim data kode penyakit dan nama penyakit ke tampilan npakar.create
return view('npakar.create', compact('penyakit', 'gejala'));
}
public function store(Request $request)
{
// Mendapatkan data yang dikirimkan melalui permintaan
$requestData = $request->except(['_token', 'submit']);
// Mendapatkan kode penyakit berdasarkan nama penyakit yang dipilih
$namaPenyakit = $request->input('nama_penyakit');
$kodePenyakit = Penyakit::where('nama_penyakit', $namaPenyakit)->value('kode_penyakit');
// Mendapatkan kode gejala berdasarkan nama gejala yang dipilih
$namaGejala = $request->input('nama_gejala');
$kodeGejala = Gejala::where('nama_gejala', $namaGejala)->value('kode_gejala');
// Menambahkan kode_penyakit dan kode_gejala ke dalam data yang dikirimkan
$requestData['kode_penyakit'] = $kodePenyakit;
$requestData['kode_gejala'] = $kodeGejala;
// Membuat entri baru dalam tabel npakar
Npakar::create($requestData);
return redirect('/npakar');
}
public function edit($id)
{
$npakar = Npakar::find($id);
// Mengambil data kode penyakit dan nama penyakit dari model Penyakit
$penyakit = Penyakit::select('kode_penyakit', 'nama_penyakit')->get();
// Mengambil data kode gejala dan nama gejala dari model Gejala
$gejala = Gejala::select('kode_gejala', 'nama_gejala')->get();
return view('npakar.edit', compact('npakar', 'penyakit', 'gejala'));
}
public function update($id, Request $request)
{
$npakar = Npakar::find($id);
$npakar->update($request->except('_token', 'submit'));
return redirect('/npakar');
}
public function destroy($id)
{
$npakar = Npakar::findOrFail($id);
$npakar->delete();
return redirect('/npakar')->with('success', 'Data berhasil dihapus');
}
}