Skip to content

Commit 139bf38

Browse files
authored
Merge pull request #3 from oooiik/2-default-params
default
2 parents dbeeaa5 + be9c805 commit 139bf38

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/Filters/QueryFilter.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Oooiik\LaravelQueryFilter\Filters;
44

5+
use http\Exception\BadMethodCallException;
56
use Illuminate\Database\Eloquent\Builder;
67

78
abstract class QueryFilter
@@ -11,6 +12,8 @@ abstract class QueryFilter
1112
/** @var Builder */
1213
protected $realBuilder;
1314

15+
public array $default = [];
16+
1417
public function __construct(Builder $builder)
1518
{
1619
$this->realBuilder = $builder;
@@ -31,9 +34,13 @@ public function filters()
3134

3235
public function apply(array $validated)
3336
{
37+
$validatedKeys = array_keys($validated);
38+
$defaultKeys = array_keys($this->default);
3439
foreach ($this->filters() as $filter) {
35-
if (in_array($filter, array_keys($validated))) {
40+
if (in_array($filter, $validatedKeys)) {
3641
$this->$filter($validated[$filter], $validated);
42+
} elseif (in_array($filter, $defaultKeys)) {
43+
$this->$filter($this->default[$filter], $validated);
3744
}
3845
}
3946
return $this;

0 commit comments

Comments
 (0)