diff --git a/packages/tables/src/Concerns/CanSearchRecords.php b/packages/tables/src/Concerns/CanSearchRecords.php index fbe94c958d..88abc6fd0f 100644 --- a/packages/tables/src/Concerns/CanSearchRecords.php +++ b/packages/tables/src/Concerns/CanSearchRecords.php @@ -113,7 +113,7 @@ trait CanSearchRecords protected function applyGlobalSearchToTableQuery(Builder $query): Builder { - $search = trim($this->getTableSearch()); + $search = $this->getTableSearch(); if (blank($search)) { return $query; @@ -149,7 +149,7 @@ trait CanSearchRecords */ public function getTableSearch() { - return $this->tableSearch; + return $this->tableSearch === null ? null : trim($this->tableSearch); } public function hasTableSearch(): bool diff --git a/tests/src/Tables/Concerns/CanSearchRecordsTest.php b/tests/src/Tables/Concerns/CanSearchRecordsTest.php index 7efb0bd75a..37de1202d0 100644 --- a/tests/src/Tables/Concerns/CanSearchRecordsTest.php +++ b/tests/src/Tables/Concerns/CanSearchRecordsTest.php @@ -33,3 +33,18 @@ it('can split on whitespace', function () { $this->assertSame(['', 'test', ''], $trait->extractTableSearchWords(' test ')); }); + +it('can trim a search query', function () { + $trait = new class { + use \Filament\Tables\Concerns\CanSearchRecords; + }; + + $trait->tableSearch = 'test'; + $this->assertSame('test', $trait->getTableSearch()); + + $trait->tableSearch = ' test '; + $this->assertSame('test', $trait->getTableSearch()); + + $trait->tableSearch = null; + $this->assertNull($trait->getTableSearch()); +});