Skip to content

Commit e7708e4

Browse files
committed
throw BadRequestException when a wrong operator set to a filter
1 parent d1011aa commit e7708e4

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/BuilderParamsApplierTrait.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use LumenApiQueryParser\Params\Filter;
88
use LumenApiQueryParser\Params\RequestParamsInterface;
99
use LumenApiQueryParser\Params\Sort;
10+
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
1011

1112
trait BuilderParamsApplierTrait
1213
{
@@ -70,7 +71,6 @@ protected function applyFilter(Builder $query, Filter $filter): void
7071
$clauseOperator = 'LIKE';
7172
break;
7273
case 'eq':
73-
default:
7474
$clauseOperator = '=';
7575
break;
7676
case 'ne':
@@ -88,12 +88,12 @@ protected function applyFilter(Builder $query, Filter $filter): void
8888
case 'le':
8989
$clauseOperator = '<=';
9090
break;
91+
default:
92+
throw new BadRequestHttpException(sprintf('Not allowed operator: %s', $operator));
9193
}
9294

9395
if ($operator === 'in') {
94-
call_user_func_array([$query, 'whereIn'], [
95-
$field, explode('|', $value)
96-
]);
96+
$query->whereIn($filter, explode('|', $value));
9797
} else {
9898
call_user_func_array([$query, $method], [
9999
$field, $clauseOperator, $value

0 commit comments

Comments
 (0)