TKK_E32222868/app/Http/Controllers/ItemsController.php

95 lines
2.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Items; // Asumsikan ada model Item (untuk makanan/minuman)
use Illuminate\Http\Request;
class ItemsController extends Controller
{
/**
* Menampilkan daftar semua Items (makanan/minuman).
*/
public function index()
{
$items = Items::all(); // Atau bisa juga Item::with('category', 'typeItem')->get();
return view('pages.back.items.index', compact('items'));
}
/**
* Menampilkan form untuk membuat Item baru.
*/
public function create()
{
// Jika ada relasi ke kategori atau type, Anda mungkin perlu mengirim data itu juga
// $categories = Category::all();
// $typeItems = TypeItem::all();
return view('pages.back.items.create'); // , compact('categories', 'typeItems')
}
/**
* Menyimpan Item baru ke database.
*/
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
'price' => 'required|numeric|min:0',
'category_id' => 'nullable|exists:categories,id', // Jika ada relasi
'type_item_id' => 'nullable|exists:type_items,id', // Jika ada relasi
// ... kolom lain seperti image_url, is_available
]);
Items::create($validatedData);
return redirect()->route('items.index')->with('success', 'Item berhasil ditambahkan!');
}
/**
* Menampilkan detail satu Item tertentu.
*/
public function show(Item $item)
{
return view('pages.back.items.show', compact('item'));
}
/**
* Menampilkan form untuk mengedit Item yang sudah ada.
*/
public function edit(Item $item)
{
// $categories = Category::all();
// $typeItems = TypeItem::all();
return view('pages.back.items.edit', compact('item')); // , compact('item', 'categories', 'typeItems')
}
/**
* Memperbarui data Item di database.
*/
public function update(Request $request, Item $item)
{
$validatedData = $request->validate([
'name' => 'required|string|max:255',
'description' => 'nullable|string',
'price' => 'required|numeric|min:0',
'category_id' => 'nullable|exists:categories,id',
'type_item_id' => 'nullable|exists:type_items,id',
// ...
]);
$item->update($validatedData);
return redirect()->route('items.index')->with('success', 'Item berhasil diperbarui!');
}
/**
* Menghapus Item dari database.
*/
public function destroy(Item $item)
{
$item->delete();
return redirect()->route('items.index')->with('success', 'Item berhasil dihapus!');
}
}