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!'); } }