83 lines
2.4 KiB
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');
|
|
}
|
|
} |