TKK_E32222868/app/Http/Controllers/MejaController.php

84 lines
2.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Meja; // Asumsikan ada model Meja
use Illuminate\Http\Request;
class MejaController extends Controller
{
/**
* Menampilkan daftar semua Meja.
*/
public function index()
{
$mejas = Meja::all();
return view('pages.back.mejas.index', compact('mejas'));
}
/**
* Menampilkan form untuk membuat Meja baru.
*/
public function create()
{
return view('pages.back.mejas.create');
}
/**
* Menyimpan Meja baru ke database.
*/
public function store(Request $request)
{
$validatedData = $request->validate([
'table_number' => 'required|integer|unique:mejas,table_number', // Nomor meja harus unik
'capacity' => 'required|integer|min:1',
'status' => 'required|in:available,occupied,reserved', // Contoh status meja
]);
Meja::create($validatedData);
return redirect()->route('mejas.index')->with('success', 'Meja berhasil ditambahkan!');
}
/**
* Menampilkan detail satu Meja tertentu.
*/
public function show(Meja $meja)
{
return view('pages.back.mejas.show', compact('meja'));
}
/**
* Menampilkan form untuk mengedit Meja yang sudah ada.
*/
public function edit(Meja $meja)
{
return view('pages.back.mejas.edit', compact('meja'));
}
/**
* Memperbarui data Meja di database.
*/
public function update(Request $request, Meja $meja)
{
$validatedData = $request->validate([
'table_number' => 'required|integer|unique:mejas,table_number,' . $meja->id, // Kecualikan ID meja saat ini
'capacity' => 'required|integer|min:1',
'status' => 'required|in:available,occupied,reserved',
]);
$meja->update($validatedData);
return redirect()->route('mejas.index')->with('success', 'Meja berhasil diperbarui!');
}
/**
* Menghapus Meja dari database.
*/
public function destroy(Meja $meja)
{
$meja->delete();
return redirect()->route('mejas.index')->with('success', 'Meja berhasil dihapus!');
}
}