summaryrefslogtreecommitdiff
path: root/workbench
diff options
context:
space:
mode:
Diffstat (limited to 'workbench')
-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>'
+ )),
];
}
}