diff options
| author | Sam Light <samlight1994@gmail.com> | 2026-02-10 00:29:38 +0000 |
|---|---|---|
| committer | Sam Light <samlight1994@gmail.com> | 2026-02-10 00:29:38 +0000 |
| commit | 18e17a0b8d4762bf6eba6483ffa5b93e6d98b22d (patch) | |
| tree | 2456181ea5b1a9fcf0e4e1de2079a56dcf88378a /workbench/app | |
| parent | c8d1a0ebb8af4eb09f7ed1c3bf91e0d129fb1e57 (diff) | |
Update orders table to show orders
Diffstat (limited to 'workbench/app')
| -rw-r--r-- | workbench/app/Livewire/OrdersTable.php | 26 |
1 files changed, 20 insertions, 6 deletions
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<Product> + * @extends Table<Order> */ class OrdersTable extends Table { - protected $model = Product::class; + protected $model = Order::class; + + /** + * @return Builder<Order> + */ + 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( + '<span style="color:red">£' . number_format((float) $r->total, 2).'</span>' + )), ]; } } |
