diff --git a/src/Filter/Date.php b/src/Filter/Date.php index 52213361912e6380dffc518308848577bae2fef8..5221fc8519ea201933397142ea5aed5611f089a7 100644 --- a/src/Filter/Date.php +++ b/src/Filter/Date.php @@ -11,10 +11,6 @@ final class Date extends HttpFilter { public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder { - $queryBuilder->where( - 'SUBSTRING(' . $this->getColumn() . ', 0, 11) = :' . $this->getParameterKey(), - ); - if (is_null($this->getHttpValue())) { return $queryBuilder; } @@ -23,6 +19,10 @@ final class Date extends HttpFilter return $queryBuilder; } + $queryBuilder->where( + 'SUBSTRING(' . $this->getColumn() . ', 0, 11) = :' . $this->getParameterKey(), + ); + $queryBuilder->setParameter($this->getParameterKey(), $this->getHttpValue()); return $queryBuilder; diff --git a/src/Filter/Like.php b/src/Filter/Like.php index f3054bd3f28b9fbd0df8237f5562059f267ad59b..30dd2ceca3a6efc941dd83e0c0f8cb205ca77ac9 100644 --- a/src/Filter/Like.php +++ b/src/Filter/Like.php @@ -11,14 +11,14 @@ final class Like extends HttpFilter { public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder { - $queryBuilder->where( - $this->getColumn() . ' LIKE :' . $this->getParameterKey(), - ); - if ($this->getHttpValue() === null) { return $queryBuilder; } + $queryBuilder->where( + $this->getColumn() . ' LIKE :' . $this->getParameterKey(), + ); + $queryBuilder->setParameter($this->getParameterKey(), '%' . $this->getHttpValue() . '%'); return $queryBuilder; diff --git a/src/Filter/Where.php b/src/Filter/Where.php index 012e4b680877ed0ea43f33cf87f02a5992c2eda1..8a6a80752918ca24e44add6847e1deddcda56d2f 100644 --- a/src/Filter/Where.php +++ b/src/Filter/Where.php @@ -11,14 +11,14 @@ final class Where extends HttpFilter { public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder { - $queryBuilder->where( - $this->getColumn() . ' = :' . $this->getParameterKey(), - ); - if ($this->getHttpValue() === null) { return $queryBuilder; } + $queryBuilder->where( + $this->getColumn() . ' = :' . $this->getParameterKey(), + ); + $queryBuilder->setParameter($this->getParameterKey(), $this->getHttpValue()); return $queryBuilder; diff --git a/tests/FilterByLikeTest.php b/tests/FilterByLikeTest.php index c030e7a41c5a1394abfdcbe31c1997446072854c..240be39ad8b9f9680ca1bb05d9d7f3e306de068a 100644 --- a/tests/FilterByLikeTest.php +++ b/tests/FilterByLikeTest.php @@ -143,7 +143,7 @@ class FilterByLikeTest extends TestCase $this->assertCount($countPosts, $result); } - public function testFilterDateWithDifferentKey(): void + public function testFilterLikeWithDifferentKey(): void { /** @var PostRepository $postRepository */ $postRepository = $this->em->getRepository(Post::class);