latest(); if ($request->filled('status')) { $query->where('status', $request->input('status')); } $orders = $query->paginate(20)->withQueryString(); return view('admin.orders.index', compact('orders')); } /** * Display order details. */ public function show(Order $order): View { $order->load('items.product'); return view('admin.orders.show', compact('order')); } /** * Update order status. */ public function updateStatus(Request $request, Order $order): RedirectResponse { $validated = $request->validate([ 'status' => 'required|string|in:pending,processing,printed,shipped,completed,cancelled', ]); $order->update(['status' => $validated['status']]); return redirect()->route('admin.orders.show', $order) ->with('success', "Bestelling #{$order->order_number} status is gewijzigd naar '{$validated['status']}'!"); } }