MIF_E31220044/app/Http/Controllers/KriteriaController.php

79 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Kriteria;
class KriteriaController extends Controller
{
public function index()
{
// Ambil semua data dari tabel 'kriterias'
$kriterias = Kriteria::all();
return view('admin.kriteria.index', compact('kriterias'));
}
public function create()
{
// Tampilkan halaman form tambah kriteria
return view('admin.kriteria.create');
}
public function store(Request $request)
{
// Validasi input sesuai kolom yang ada di database dan form
$validatedData = $request->validate([
'nama' => 'required|string|max:255',
'bobot' => 'required|numeric',
'jenis' => 'required|in:benefit,cost'
]);
// Simpan data ke database
Kriteria::create($validatedData);
// Redirect ke halaman daftar kriteria dengan pesan sukses
return redirect()->route('kriteria.index')->with('success', 'Kriteria berhasil ditambahkan');
}
public function edit($id)
{
// Ambil data kriteria berdasarkan ID, jika tidak ditemukan akan error 404 otomatis
$kriteria = Kriteria::findOrFail($id);
// Tampilkan halaman form edit dengan data kriteria
return view('admin.kriteria.edit', compact('kriteria'));
}
public function update(Request $request, $id)
{
// Validasi input
$validatedData = $request->validate([
'nama' => 'required|string|max:255',
'bobot' => 'required|numeric',
'jenis' => 'required|in:benefit,cost'
]);
// Cari data kriteria berdasarkan ID
$kriteria = Kriteria::findOrFail($id);
// Update data
$kriteria->update($validatedData);
// Redirect ke daftar kriteria dengan pesan sukses
return redirect()->route('kriteria.index')->with('success', 'Data kriteria berhasil diupdate');
}
public function destroy($id)
{
// Cari data kriteria berdasarkan ID
$kriteria = Kriteria::findOrFail($id);
// Hapus data
$kriteria->delete();
// Redirect ke daftar kriteria dengan pesan sukses
return redirect()->route('kriteria.index')->with('success', 'Kriteria berhasil dihapus');
}
}