summaryrefslogtreecommitdiff
path: root/workbench/app
diff options
context:
space:
mode:
authorSam Light <samlight1994@gmail.com>2026-02-10 00:29:38 +0000
committerSam Light <samlight1994@gmail.com>2026-02-10 00:29:38 +0000
commit18e17a0b8d4762bf6eba6483ffa5b93e6d98b22d (patch)
tree2456181ea5b1a9fcf0e4e1de2079a56dcf88378a /workbench/app
parentc8d1a0ebb8af4eb09f7ed1c3bf91e0d129fb1e57 (diff)
Update orders table to show orders
Diffstat (limited to 'workbench/app')
-rw-r--r--workbench/app/Livewire/OrdersTable.php26
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>'
+ )),
];
}
}