From 7a5ecc02bdaa4270e88f182017bba8d359c612fa Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 10 Feb 2026 13:11:44 +0700 Subject: [PATCH] feat: Add item name search functionality to the item columns in Purchases, Restocks, and Stock Transfers datatables. --- app/Livewire/Datatable/Manage/PurchasesTable.php | 9 ++++++++- app/Livewire/Datatable/Manage/RestocksTable.php | 9 ++++++++- app/Livewire/Datatable/Manage/StockTransfersTable.php | 9 ++++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/Livewire/Datatable/Manage/PurchasesTable.php b/app/Livewire/Datatable/Manage/PurchasesTable.php index ae1e9f1..fc4b775 100644 --- a/app/Livewire/Datatable/Manage/PurchasesTable.php +++ b/app/Livewire/Datatable/Manage/PurchasesTable.php @@ -58,7 +58,14 @@ public function columns(): array
{$value['total_price']}
" ) - ->flexCol(['class' => 'flex-col gap-3']), + ->flexCol(['class' => 'flex-col gap-3']) + ->searchable(function ($query, $searchTerm) { + $query->orWhereHas('items', function (Builder $query) use ($searchTerm) { + $query->whereHas('purchasable', function (Builder $query) use ($searchTerm) { + $query->where('name', 'like', "%{$searchTerm}%"); + }); + }); + }), Column::make('Aksi') ->label(function ($row) { diff --git a/app/Livewire/Datatable/Manage/RestocksTable.php b/app/Livewire/Datatable/Manage/RestocksTable.php index 54e1533..f979365 100644 --- a/app/Livewire/Datatable/Manage/RestocksTable.php +++ b/app/Livewire/Datatable/Manage/RestocksTable.php @@ -49,7 +49,14 @@ public function columns(): array
Qty: {$value['quantity']}
" ) - ->flexCol(['class' => 'flex-col gap-3']), + ->flexCol(['class' => 'flex-col gap-3']) + ->searchable(function ($query, $searchTerm) { + $query->orWhereHas('items', function (Builder $query) use ($searchTerm) { + $query->whereHas('restockable', function (Builder $query) use ($searchTerm) { + $query->where('name', 'like', "%{$searchTerm}%"); + }); + }); + }), Column::make('Aksi') ->label(function ($row) { diff --git a/app/Livewire/Datatable/Manage/StockTransfersTable.php b/app/Livewire/Datatable/Manage/StockTransfersTable.php index 67c2a0c..e5f13c4 100644 --- a/app/Livewire/Datatable/Manage/StockTransfersTable.php +++ b/app/Livewire/Datatable/Manage/StockTransfersTable.php @@ -49,7 +49,14 @@ public function columns(): array
Qty: {$value['quantity']}
" ) - ->flexCol(['class' => 'flex-col gap-3']), + ->flexCol(['class' => 'flex-col gap-3']) + ->searchable(function ($query, $searchTerm) { + $query->orWhereHas('items', function (Builder $query) use ($searchTerm) { + $query->whereHas('transferable', function (Builder $query) use ($searchTerm) { + $query->where('name', 'like', "%{$searchTerm}%"); + }); + }); + }), Column::make('Aksi') ->label(function ($row) {