95 lines
2.8 KiB
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!');
|
|
}
|
|
}
|