84 lines
2.2 KiB
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!');
|
|
}
|
|
}
|