diff --git a/app/Livewire/Datatable/Studio/Catalog/BottlesTable.php b/app/Livewire/Datatable/Studio/Catalog/BottlesTable.php index d5bc7fc..0b3aef9 100644 --- a/app/Livewire/Datatable/Studio/Catalog/BottlesTable.php +++ b/app/Livewire/Datatable/Studio/Catalog/BottlesTable.php @@ -55,8 +55,17 @@ public function columns(): array ]), ArrayColumn::make('Outlet') - ->data(fn ($value, $row) => $row->outlets->pluck('name')->toArray()) - ->outputFormat(fn ($index, $value) => Blade::render(''.$value.'')) + ->data( + fn ($value, $row) => $row->outlets->map(fn ($outlet) => [ + 'name' => $outlet->name, + 'stock' => $outlet->pivot->stock, + ])->toArray() + ) + ->outputFormat(fn ($index, $value) => Blade::render(' +
+ {{ $value["name"] }} + {{ $value["stock"] }} +
', ['value' => $value])) ->flexRow(['class' => 'gap-2 flex-wrap']), Column::make('Aksi') diff --git a/app/Livewire/Datatable/Studio/Catalog/PerfumesTable.php b/app/Livewire/Datatable/Studio/Catalog/PerfumesTable.php index b35e12f..a6671c8 100644 --- a/app/Livewire/Datatable/Studio/Catalog/PerfumesTable.php +++ b/app/Livewire/Datatable/Studio/Catalog/PerfumesTable.php @@ -64,8 +64,17 @@ public function columns(): array Column::make('Top Notes', 'top_notes')->searchable()->sortable(), ArrayColumn::make('Outlet') - ->data(fn ($value, $row) => $row->outlets->pluck('name')->toArray()) - ->outputFormat(fn ($index, $value) => Blade::render(''.$value.'')) + ->data( + fn ($value, $row) => $row->outlets->map(fn ($outlet) => [ + 'name' => $outlet->name, + 'stock' => $outlet->pivot->stock, + ])->toArray() + ) + ->outputFormat(fn ($index, $value) => Blade::render(' +
+ {{ $value["name"] }} + {{ $value["stock"] }} +
', ['value' => $value])) ->flexRow(['class' => 'gap-2 flex-wrap']), Column::make('Aksi') diff --git a/app/Livewire/Datatable/Studio/Catalog/ProductsTable.php b/app/Livewire/Datatable/Studio/Catalog/ProductsTable.php index 6a7ce62..ede5fc9 100644 --- a/app/Livewire/Datatable/Studio/Catalog/ProductsTable.php +++ b/app/Livewire/Datatable/Studio/Catalog/ProductsTable.php @@ -47,8 +47,17 @@ public function columns(): array ->sortable(), ArrayColumn::make('Outlet') - ->data(fn ($value, $row) => $row->outlets->pluck('name')->toArray()) - ->outputFormat(fn ($index, $value) => Blade::render(''.$value.'')) + ->data( + fn ($value, $row) => $row->outlets->map(fn ($outlet) => [ + 'name' => $outlet->name, + 'stock' => $outlet->pivot->stock, + ])->toArray() + ) + ->outputFormat(fn ($index, $value) => Blade::render(' +
+ {{ $value["name"] }} + {{ $value["stock"] }} +
', ['value' => $value])) ->flexRow(['class' => 'gap-2 flex-wrap']), Column::make('Aksi') diff --git a/app/Models/Bottle.php b/app/Models/Bottle.php index 35298ca..982c3e0 100644 --- a/app/Models/Bottle.php +++ b/app/Models/Bottle.php @@ -38,6 +38,6 @@ public function getSlugOptions(): SlugOptions public function outlets(): BelongsToMany { - return $this->belongsToMany(Outlet::class); + return $this->belongsToMany(Outlet::class)->withPivot('stock'); } } diff --git a/app/Models/Perfume.php b/app/Models/Perfume.php index c055e7d..444ebcc 100644 --- a/app/Models/Perfume.php +++ b/app/Models/Perfume.php @@ -48,6 +48,6 @@ public function categories(): BelongsToMany public function outlets(): BelongsToMany { - return $this->belongsToMany(Outlet::class); + return $this->belongsToMany(Outlet::class)->withPivot('stock'); } } diff --git a/app/Models/Product.php b/app/Models/Product.php index 6175c16..9b6f391 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -35,6 +35,6 @@ public function getSlugOptions(): SlugOptions public function outlets(): BelongsToMany { - return $this->belongsToMany(Outlet::class); + return $this->belongsToMany(Outlet::class)->withPivot('stock'); } }