61 lines
1.8 KiB
PHP
61 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\BasisPengetahuan;
|
|
use App\Models\Kecerdasan;
|
|
use App\Models\Kriteria;
|
|
|
|
class BasisPengetahuanController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
// eager-load relasi kecerdasan & kriteria
|
|
$basis = BasisPengetahuan::with(['kecerdasan', 'kriteria'])->get();
|
|
$kecerdasans = Kecerdasan::orderBy('nama')->get();
|
|
$kriterias = Kriteria::orderBy('nama')->get();
|
|
|
|
// pastikan nama view sesuai file kebab-case: admin.basis-pengetahuan.blade.php
|
|
return view('admin.basispengetahuan', compact('basis', 'kecerdasans', 'kriterias'));
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$data = $request->validate([
|
|
'kecerdasan_id' => 'required|exists:kecerdasan,id',
|
|
'kriteria_id' => 'required|exists:kriteria,id',
|
|
'nilai' => 'required|numeric|between:0,1',
|
|
]);
|
|
|
|
BasisPengetahuan::create($data);
|
|
|
|
return redirect()
|
|
->route('admin.basispengetahuan.index')
|
|
->with('success', 'Data basis pengetahuan tersimpan.');
|
|
}
|
|
|
|
public function update(Request $request, BasisPengetahuan $basisPengetahuan)
|
|
{
|
|
$data = $request->validate([
|
|
'nilai' => 'required|numeric|between:0,1',
|
|
]);
|
|
|
|
$basisPengetahuan->update($data);
|
|
|
|
return redirect()
|
|
->route('admin.basispengetahuan.index')
|
|
->with('success', 'Data basis pengetahuan diperbarui.');
|
|
}
|
|
|
|
public function destroy(BasisPengetahuan $basisPengetahuan)
|
|
{
|
|
$basisPengetahuan->delete();
|
|
|
|
return redirect()
|
|
->route('admin.basispengetahuan.index')
|
|
->with('success', 'Data basis pengetahuan dihapus.');
|
|
}
|
|
}
|