Skip to content

Commit

Permalink
Merge pull request #13974 from maartenpaauw/bugfix/retrieve-dot-notat…
Browse files Browse the repository at this point in the history
…ed-filter-states-correctly

fix(filters): correctly retrieve dot-notated filter state
  • Loading branch information
danharrin authored Aug 18, 2024
2 parents 5795ed2 + a6978e7 commit 6913f09
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions packages/tables/src/Concerns/HasFilters.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use Filament\Forms\Form;
use Filament\Tables\Filters\BaseFilter;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Arr;

/**
* @property Form $tableFiltersForm
Expand Down Expand Up @@ -140,28 +141,26 @@ public function applyTableFilters(): void

protected function applyFiltersToTableQuery(Builder $query): Builder
{
$data = $this->tableFilters;

foreach ($this->getTable()->getFilters() as $filter) {
$filter->applyToBaseQuery(
$query,
$data[$filter->getName()] ?? [],
$this->getTableFilterState($filter->getName()) ?? [],
);
}

return $query->where(function (Builder $query) use ($data) {
return $query->where(function (Builder $query) {
foreach ($this->getTable()->getFilters() as $filter) {
$filter->apply(
$query,
$data[$filter->getName()] ?? [],
$this->getTableFilterState($filter->getName()) ?? [],
);
}
});
}

public function getTableFilterState(string $name): ?array
{
return $this->tableFilters[$this->parseTableFilterName($name)] ?? null;
return Arr::get($this->tableFilters, $this->parseTableFilterName($name));
}

public function parseTableFilterName(string $name): string
Expand Down

0 comments on commit 6913f09

Please sign in to comment.