PascalCase singular model name (e.g. Branch) * item -> lowercase singular (e.g. branch) * items -> lowercase plural (e.g. branches) * * Also update the `use App\Models\Item;` import to your real model, and swap * the `.stub` extension for `.php` when you save the copy. * * Pairs with the views in resources/views/_template/items/. * See docs/module-template/README.md for the full checklist. */ namespace App\Http\Controllers; use App\Models\Item; use Illuminate\Http\Request; class ItemController extends Controller { public function __construct() { $this->middleware('auth'); } public function index() { $pageTitle = 'Items'; $pageDescription = 'View and manage the list of items.'; $items = Item::orderBy('name')->get(); return view('items.index', compact('pageTitle', 'pageDescription', 'items')); } public function create() { $pageTitle = 'Add Item'; $pageDescription = 'Create a new item.'; return view('items.create', compact('pageTitle', 'pageDescription')); } public function store(Request $request) { $validated = $request->validate([ 'name' => 'required|string|max:255', 'status' => 'nullable|in:active,inactive', ]); Item::create($validated); return redirect()->route('items.index')->with('success', 'Item has been created.'); } public function details($id) { $pageTitle = 'Item Details'; $pageDescription = 'Showing item details.'; $item = Item::findOrFail($id); return view('items.details', compact('pageTitle', 'pageDescription', 'item')); } public function edit($id) { $pageTitle = 'Edit Item'; $pageDescription = 'Update this item.'; $item = Item::findOrFail($id); return view('items.edit', compact('pageTitle', 'pageDescription', 'item')); } public function update(Request $request, $id) { $item = Item::findOrFail($id); $validated = $request->validate([ 'name' => 'required|string|max:255', 'status' => 'nullable|in:active,inactive', ]); $item->update($validated); return redirect()->route('items.index')->with('success', 'Item has been updated.'); } public function destroy($id) { Item::findOrFail($id)->delete(); return redirect()->route('items.index')->with('success', 'Item has been deleted.'); } }