From 18e17a0b8d4762bf6eba6483ffa5b93e6d98b22d Mon Sep 17 00:00:00 2001 From: Sam Light Date: Tue, 10 Feb 2026 00:29:38 +0000 Subject: Update orders table to show orders --- workbench/app/Livewire/OrdersTable.php | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'workbench/app/Livewire/OrdersTable.php') diff --git a/workbench/app/Livewire/OrdersTable.php b/workbench/app/Livewire/OrdersTable.php index e42be1d..87fb93e 100644 --- a/workbench/app/Livewire/OrdersTable.php +++ b/workbench/app/Livewire/OrdersTable.php @@ -2,23 +2,37 @@ namespace Workbench\App\Livewire; +use Illuminate\Database\Eloquent\Builder; +use Illuminate\Support\HtmlString; use Lightscale\LaralightTables\Columns\Column; -use Workbench\App\Models\Product; +use Workbench\App\Models\Order; /** - * @extends Table + * @extends Table */ class OrdersTable extends Table { - protected $model = Product::class; + protected $model = Order::class; + + /** + * @return Builder + */ + protected function query(): Builder + { + return Order::withCount('products'); + } public function columns(): array { return [ Column::make('id', 'ID'), - Column::make('name', 'Name'), - Column::make('price', 'Price'), - Column::make('stock', 'Stock'), + Column::make('status', 'Status') + ->slot(fn (Order $r) => ucfirst($r->status->value)), + Column::make('products_count', 'Product Count'), + Column::make('total', 'Total Price') + ->slot(fn (Order $r) => new HtmlString( + '£' . number_format((float) $r->total, 2).'' + )), ]; } } -- cgit v1.2.3