gastrosaw/app/Http/Controllers/MakananController.php

87 lines
2.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Makanan;
use Illuminate\Http\Request;
class MakananController extends Controller
{
public function index()
{
$makanan = Makanan::latest()->paginate(10);
return view('makanan.index', compact('makanan'));
}
public function create()
{
return view('makanan.create');
}
public function store(Request $request)
{
$request->validate([
'nama_makanan' => 'required|string|max:255',
'protein' => 'required|numeric',
'kandungan_lemak' => 'required|numeric',
'karbohidrat'=> 'required|numeric',
'kandungan_serat' => 'required|numeric',
'kalori' => 'required|numeric',
'porsi_saji' => 'required|string|max:255',
'tekstur' => 'required|in:lunak,sedang,keras',
'cara_pengolahan' => 'required|string',
'alternatif_serupa' => 'nullable|string',
'komposisi_makanan' => 'nullable|string',
]);
Makanan::create($request->all());
return redirect()->route('makanan.index')
->with('success', 'Data makanan berhasil ditambahkan.');
}
public function edit($id)
{
$makanan = Makanan::findOrFail($id);
return view('makanan.edit', compact('makanan'));
}
public function update(Request $request, $id)
{
$request->validate([
'nama_makanan' => 'required|string|max:255',
'protein' => 'required|numeric',
'kandungan_lemak' => 'required|numeric',
'karbohidrat'=> 'required|numeric',
'kandungan_serat' => 'required|numeric',
'kalori' => 'required|numeric',
'porsi_saji' => 'required|string|max:255',
'tekstur' => 'required|in:lunak,sedang,keras',
'cara_pengolahan' => 'required|string',
'alternatif_serupa' => 'nullable|string',
'komposisi_makanan' => 'nullable|string',
]);
$makanan = Makanan::findOrFail($id);
$makanan->update($request->all());
return redirect()->route('makanan.index')
->with('success', 'Data makanan berhasil diperbarui.');
}
public function destroy($id)
{
$makanan = Makanan::findOrFail($id);
$makanan->delete();
return redirect()->route('makanan.index')
->with('success', 'Data makanan berhasil dihapus.');
}
public function show($id)
{
$makanan = Makanan::findOrFail($id);
return view('makanan.detail', compact('makanan'));
}
}