From 6674cde0b5f5495b77ecc829b5b1e06fc4a03fbb Mon Sep 17 00:00:00 2001 From: sebapastore Date: Tue, 20 Apr 2021 01:25:03 -0400 Subject: [PATCH 1/2] Fix issue #381 Bug when applying multiple column search and filter --- .../tables/src/Concerns/CanSearchRecords.php | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/tables/src/Concerns/CanSearchRecords.php b/packages/tables/src/Concerns/CanSearchRecords.php index d8a8acc28c..24bc3d4b6a 100644 --- a/packages/tables/src/Concerns/CanSearchRecords.php +++ b/packages/tables/src/Concerns/CanSearchRecords.php @@ -56,21 +56,23 @@ trait CanSearchRecords return $query; } - collect($this->getTable()->getColumns()) - ->filter(fn ($column) => $column->isSearchable()) - ->each(function ($column) use (&$query) { - foreach ($column->getSearchColumns() as $searchColumn) { - if ($this->isRelationshipSearch($searchColumn)) { - $query = $this->applyRelationshipSearch($query, $searchColumn); - } else { - $query = $query->{$this->hasNoSearchQueriesApplied() ? 'where' : 'orWhere'}( - fn ($query) => $query->where($searchColumn, $this->getSearchOperator(), "%{$this->getSearch()}%"), - ); - } + $query->where( function ($query) { + collect($this->getTable()->getColumns()) + ->filter(fn ($column) => $column->isSearchable()) + ->each(function ($column) use (&$query) { + foreach ($column->getSearchColumns() as $searchColumn) { + if ($this->isRelationshipSearch($searchColumn)) { + $query = $this->applyRelationshipSearch($query, $searchColumn); + } else { + $query->{$this->hasNoSearchQueriesApplied() ? 'where' : 'orWhere'}( + $searchColumn, $this->getSearchOperator(), "%{$this->getSearch()}%" + ); + } - $this->hasSearchQueriesApplied = true; - } - }); + $this->hasSearchQueriesApplied = true; + } + }); + }); return $query; } From a2bb449b71ee8817f9f960fb58c1b49db3101c3f Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Fri, 23 Apr 2021 23:24:07 +0100 Subject: [PATCH 2/2] Update CanSearchRecords.php --- packages/tables/src/Concerns/CanSearchRecords.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tables/src/Concerns/CanSearchRecords.php b/packages/tables/src/Concerns/CanSearchRecords.php index 24bc3d4b6a..f0287d0288 100644 --- a/packages/tables/src/Concerns/CanSearchRecords.php +++ b/packages/tables/src/Concerns/CanSearchRecords.php @@ -56,7 +56,7 @@ trait CanSearchRecords return $query; } - $query->where( function ($query) { + $query->where(function ($query) { collect($this->getTable()->getColumns()) ->filter(fn ($column) => $column->isSearchable()) ->each(function ($column) use (&$query) {