feat(item): menambahkan relasi withPivot di model dan menyesuaikan tabelnya supaya stok nya tampil

This commit is contained in:
Yoga Pangestu 2025-10-04 18:44:59 +07:00
parent 7224f722b9
commit 485d81ac63
6 changed files with 36 additions and 9 deletions

View File

@ -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('<span class="text-xs text-gray-400 border border-gray-400 rounded px-1">'.$value.'</span>'))
->data(
fn ($value, $row) => $row->outlets->map(fn ($outlet) => [
'name' => $outlet->name,
'stock' => $outlet->pivot->stock,
])->toArray()
)
->outputFormat(fn ($index, $value) => Blade::render('
<div class="flex items-center space-x-2 bg-gray-50 border border-gray-200 rounded-lg px-2 py-1 text-xs">
<span class="font-medium text-gray-700">{{ $value["name"] }}</span>
<span class="text-[10px] text-white bg-emerald-500 rounded px-1.5 py-0.5">{{ $value["stock"] }}</span>
</div>', ['value' => $value]))
->flexRow(['class' => 'gap-2 flex-wrap']),
Column::make('Aksi')

View File

@ -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('<span class="text-xs text-gray-400 border border-gray-400 rounded px-1">'.$value.'</span>'))
->data(
fn ($value, $row) => $row->outlets->map(fn ($outlet) => [
'name' => $outlet->name,
'stock' => $outlet->pivot->stock,
])->toArray()
)
->outputFormat(fn ($index, $value) => Blade::render('
<div class="flex items-center space-x-2 bg-gray-50 border border-gray-200 rounded-lg px-2 py-1 text-xs">
<span class="font-medium text-gray-700">{{ $value["name"] }}</span>
<span class="text-[10px] text-white bg-emerald-500 rounded px-1.5 py-0.5">{{ $value["stock"] }}</span>
</div>', ['value' => $value]))
->flexRow(['class' => 'gap-2 flex-wrap']),
Column::make('Aksi')

View File

@ -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('<span class="text-xs text-gray-400 border border-gray-400 rounded px-1">'.$value.'</span>'))
->data(
fn ($value, $row) => $row->outlets->map(fn ($outlet) => [
'name' => $outlet->name,
'stock' => $outlet->pivot->stock,
])->toArray()
)
->outputFormat(fn ($index, $value) => Blade::render('
<div class="flex items-center space-x-2 bg-gray-50 border border-gray-200 rounded-lg px-2 py-1 text-xs">
<span class="font-medium text-gray-700">{{ $value["name"] }}</span>
<span class="text-[10px] text-white bg-emerald-500 rounded px-1.5 py-0.5">{{ $value["stock"] }}</span>
</div>', ['value' => $value]))
->flexRow(['class' => 'gap-2 flex-wrap']),
Column::make('Aksi')

View File

@ -38,6 +38,6 @@ public function getSlugOptions(): SlugOptions
public function outlets(): BelongsToMany
{
return $this->belongsToMany(Outlet::class);
return $this->belongsToMany(Outlet::class)->withPivot('stock');
}
}

View File

@ -48,6 +48,6 @@ public function categories(): BelongsToMany
public function outlets(): BelongsToMany
{
return $this->belongsToMany(Outlet::class);
return $this->belongsToMany(Outlet::class)->withPivot('stock');
}
}

View File

@ -35,6 +35,6 @@ public function getSlugOptions(): SlugOptions
public function outlets(): BelongsToMany
{
return $this->belongsToMany(Outlet::class);
return $this->belongsToMany(Outlet::class)->withPivot('stock');
}
}