Skip to content

Commit

Permalink
Merge pull request #61 from adamgroom/renamed-filter-fields-bug
Browse files Browse the repository at this point in the history
renamed filter fields bug
  • Loading branch information
abbasudo committed May 12, 2024
2 parents bc7434d + d8c7f05 commit 5dc70b9
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/Traits/Filterable.php
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public function getField(string $field): string
*/
public function availableFields(): array
{
if (!isset($this->filterFields)) {
if (!isset($this->filterFields) && !isset($this->renamedFilterFields)) {
return array_merge($this->getTableColumns(), $this->relations());
}

Expand All @@ -138,6 +138,10 @@ public function getUserDefinedFilterFields(): array
return $this->userDefinedFilterFields;
}

if (isset($this->renamedFilterFields)) {
return $this->userDefinedFilterFields = $this->renamedFilterFields;
}

$userDefinedFilterFields = [];

foreach ($this->filterFields as $key => $value) {
Expand Down
23 changes: 23 additions & 0 deletions tests/Feature/RenameFilterableFieldsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,27 @@ public function it_can_overwrite_rename_filter_fields_in_eloquent_builder(): voi
// It returns o records as builder level filters take priority
$response->assertJsonCount(1);
}

/** @test */
public function rename_filter_fields_works_when_filter_fields_not_set(): void
{
$post = new Post();
$post->renamedFilterFields = ['invalid_column' => 'post_title']; // invalid column name

$post->create([
'title' => 'title_1',
])->create([
'title' => 'title_2',
]);

Route::get('/posts', function () use ($post) {
// reset with valid column name
return $post->renamedFilterFields(['title' => 'post_title'])->filter()->get();
});

$response = $this->getJson('/posts?filters[post_title][$eq]=title_1');

$response->assertOk();
$response->assertJsonCount(1);
}
}

0 comments on commit 5dc70b9

Please sign in to comment.