79 lines
2.3 KiB
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');
|
|
}
|
|
} |