59 lines
1.4 KiB
PHP
59 lines
1.4 KiB
PHP
<?php
|
||
|
||
namespace App\Http\Controllers;
|
||
|
||
use App\Models\Kriteria;
|
||
use Illuminate\Http\Request;
|
||
|
||
class KriteriaController extends Controller
|
||
{
|
||
public function index()
|
||
{
|
||
$kriterias = Kriteria::orderBy('id')->get();
|
||
return view('admin.datakriteria', compact('kriterias'));
|
||
}
|
||
|
||
public function store(Request $request)
|
||
{
|
||
// validasi input
|
||
$data = $request->validate([
|
||
'id' => 'required|string|size:4|unique:kriteria,id',
|
||
'nama' => 'required|string|max:255',
|
||
]);
|
||
|
||
// simpan ke DB
|
||
Kriteria::create($data);
|
||
|
||
return redirect()
|
||
->route('kriteria.index')
|
||
->with('success', "Kriteria '{$data['nama']}' berhasil ditambahkan.");
|
||
}
|
||
|
||
public function edit($id)
|
||
{
|
||
$kriteria = Kriteria::findOrFail($id);
|
||
return view('admin.kriteria.edit', compact('kriteria'));
|
||
}
|
||
|
||
public function update(Request $request, $id)
|
||
{
|
||
$data = $request->validate([
|
||
'nama' => 'required|string|max:255',
|
||
// jika kamu sudah drop kolom bobot, hapus rule-nya
|
||
]);
|
||
|
||
Kriteria::where('id', $id)->update($data);
|
||
|
||
return redirect()->route('kriteria.index')
|
||
->with('success', "Kriteria '{$data['nama']}' berhasil di‐update.");
|
||
}
|
||
|
||
public function destroy($id)
|
||
{
|
||
Kriteria::destroy($id);
|
||
|
||
return redirect()->route('kriteria.index')
|
||
->with('success', "Kriteria dengan ID {$id} telah di‐hapus.");
|
||
}
|
||
}
|