MIF_E31222629/app/Http/Controllers/NilaiAlternatifController.php

73 lines
2.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\NilaiAlternatifModels as NilaiAlternatif;
use App\Models\MobilModels as Mobil;
use App\Models\SubKriteriaModels as SubKriteria;
use Illuminate\Http\Request;
class NilaiAlternatifController extends Controller
{
public function index(Request $request)
{
$query = NilaiAlternatif::with(['mobil', 'subkriteria']);
if ($request->filled('search')) {
$query->whereHas('mobil', function($q) use ($request) {
$q->where('nama_mobil', 'like', '%' . $request->search . '%');
});
}
$nilaiAlternatifs = $query->paginate(10);
return view('nilai-alternatif.index', compact('nilaiAlternatifs'));
}
public function create()
{
$mobils = Mobil::all();
$subkriterias = SubKriteria::all();
return view('nilai-alternatif.form', compact('mobils', 'subkriterias'));
}
public function store(Request $request)
{
$request->validate([
'mobil_id' => 'required|exists:mobil,id',
'sub_kriteria_id' => 'required|exists:sub_kriteria,id',
'nilai' => 'required|numeric|min:0',
]);
NilaiAlternatif::create($request->all());
return redirect()->route('nilai-alternatif.index')->with('success', 'Data berhasil ditambahkan.');
}
public function edit(NilaiAlternatif $nilaiAlternatif)
{
$mobils = Mobil::all();
$subkriterias = SubKriteria::all();
return view('nilai-alternatif.form', compact('nilaiAlternatif', 'mobils', 'subkriterias'));
}
public function update(Request $request, NilaiAlternatif $nilaiAlternatif)
{
$request->validate([
'mobil_id' => 'required|exists:mobil,id',
'sub_kriteria_id' => 'required|exists:sub_kriteria,id',
'nilai' => 'required|numeric|min:0',
]);
$nilaiAlternatif->update($request->all());
return redirect()->route('nilai-alternatif.index')->with('success', 'Data berhasil diperbarui.');
}
public function destroy(NilaiAlternatif $nilaiAlternatif)
{
$nilaiAlternatif->delete();
return redirect()->route('nilai-alternatif.index')->with('success', 'Data berhasil dihapus.');
}
}