MIF_E31222307/app/Http/Controllers/MakananController.php

117 lines
3.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Makanan;
use App\Http\Requests\MakananRequest;
use App\Http\Requests\UpdateMakananRequest;
use App\Models\Kategori;
use App\Http\Requests\KategoriRequest;
use App\Http\Requests\UpdateKategoriRequest;
class MakananController extends Controller
{
//
public function makanan(){
$makanans = Makanan::with('kategori')->get(); // Ambil semua data makanan dengan relasi kategori
return view('admin.makanan.makanan', compact('makanans'));
}
public function editmakanan(Makanan $makanan){
// Ambil semua kategori untuk dropdown
$kategoris = Kategori::pluck('kategori', 'id'); // Ambil nama dan ID kategori
return view('admin.makanan.editmakanan', compact('makanan', 'kategoris'));
}
public function tambahMakanan(){
// Mengambil semua data kategori
$kategoris = Kategori::all(); // Pastikan ini adalah koleksi Eloquent
// Mengirim data ke view
return view('admin.makanan.tambahmakanan', compact('kategoris'));
}
public function storemakanan(MakananRequest $request)
{
$validatedData = $request->validated();
// dd($validatedData);
// Ganti koma dengan titik untuk input desimal
$validatedData['lemak_jenuh'] = str_replace(',', '.', $validatedData['lemak_jenuh']);
$validatedData['natrium'] = str_replace(',', '.', $validatedData['natrium']);
$validatedData['kolesterol'] = str_replace(',', '.', $validatedData['kolesterol']);
$validatedData['kalori'] = str_replace(',', '.', $validatedData['kalori']);
// Simpan relasi kategori_id ke database
$validatedData['kategori_id'] = $request->input('kategori_id');
// Simpan data makanan ke database
Makanan::create($validatedData);
return redirect()->route('makanan')->with('success', 'Makanan berhasil ditambahkan!');
}
public function updatemakanan(UpdateMakananRequest $request, Makanan $makanan)
{
$validatedData = $request->validated();
// Ganti koma dengan titik untuk input desimal
$validatedData['lemak_jenuh'] = str_replace(',', '.', $validatedData['lemak_jenuh']);
$validatedData['natrium'] = str_replace(',', '.', $validatedData['natrium']);
$validatedData['kolesterol'] = str_replace(',', '.', $validatedData['kolesterol']);
$validatedData['kalori'] = str_replace(',', '.', $validatedData['kalori']);
// Simpan relasi kategori_id ke database
$validatedData['kategori_id'] = $request->input('kategori_id');
// Update data makanan di database
$makanan->update($validatedData);
return redirect()->route('makanan')->with('success', 'Makanan berhasil diperbarui!');
}
public function deletemakanan(Makanan $makanan) {
$makanan->delete();
return redirect()->route('makanan')->with('success', 'Makanan deleted successfully');
}
public function kategori(){
$kategoris = Kategori::all();
return view('admin.kategori.kategori', compact('kategoris'));
}
public function editkategori(Kategori $kategori){
return view('admin.kategori.editkategori', compact('kategori'));
}
public function tambahkategori(){
return view('admin.kategori.tambahkategori');
}
public function storekategori(KategoriRequest $request){
$validatedData = $request->validated();
Kategori::create($validatedData);
return redirect()->route('kategori');
}
public function updatekategori(UpdateKategoriRequest $request, Kategori $kategori)
{
$validatedData = $request->validated();
$kategori->update($validatedData);
return redirect()->route('kategori');
}
public function deletekategori(Kategori $kategori) {
$kategori->delete();
return redirect()->route('kategori')->with('success', 'user deleted successfully');
}
}