Skip to content
Snippets Groups Projects
Commit b1eb1be1 authored by Адлан Шамавов's avatar Адлан Шамавов
Browse files

fix: Поправлены фильтры

parent b6681ab7
No related branches found
No related tags found
1 merge request!1Фильтры Like, ILike, Range, In, Date, DateRange
...@@ -11,10 +11,6 @@ final class Date extends HttpFilter ...@@ -11,10 +11,6 @@ final class Date extends HttpFilter
{ {
public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
{ {
$queryBuilder->where(
'SUBSTRING(' . $this->getColumn() . ', 0, 11) = :' . $this->getParameterKey(),
);
if (is_null($this->getHttpValue())) { if (is_null($this->getHttpValue())) {
return $queryBuilder; return $queryBuilder;
} }
...@@ -23,6 +19,10 @@ final class Date extends HttpFilter ...@@ -23,6 +19,10 @@ final class Date extends HttpFilter
return $queryBuilder; return $queryBuilder;
} }
$queryBuilder->where(
'SUBSTRING(' . $this->getColumn() . ', 0, 11) = :' . $this->getParameterKey(),
);
$queryBuilder->setParameter($this->getParameterKey(), $this->getHttpValue()); $queryBuilder->setParameter($this->getParameterKey(), $this->getHttpValue());
return $queryBuilder; return $queryBuilder;
......
...@@ -11,14 +11,14 @@ final class Like extends HttpFilter ...@@ -11,14 +11,14 @@ final class Like extends HttpFilter
{ {
public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
{ {
$queryBuilder->where(
$this->getColumn() . ' LIKE :' . $this->getParameterKey(),
);
if ($this->getHttpValue() === null) { if ($this->getHttpValue() === null) {
return $queryBuilder; return $queryBuilder;
} }
$queryBuilder->where(
$this->getColumn() . ' LIKE :' . $this->getParameterKey(),
);
$queryBuilder->setParameter($this->getParameterKey(), '%' . $this->getHttpValue() . '%'); $queryBuilder->setParameter($this->getParameterKey(), '%' . $this->getHttpValue() . '%');
return $queryBuilder; return $queryBuilder;
......
...@@ -11,14 +11,14 @@ final class Where extends HttpFilter ...@@ -11,14 +11,14 @@ final class Where extends HttpFilter
{ {
public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
{ {
$queryBuilder->where(
$this->getColumn() . ' = :' . $this->getParameterKey(),
);
if ($this->getHttpValue() === null) { if ($this->getHttpValue() === null) {
return $queryBuilder; return $queryBuilder;
} }
$queryBuilder->where(
$this->getColumn() . ' = :' . $this->getParameterKey(),
);
$queryBuilder->setParameter($this->getParameterKey(), $this->getHttpValue()); $queryBuilder->setParameter($this->getParameterKey(), $this->getHttpValue());
return $queryBuilder; return $queryBuilder;
......
...@@ -143,7 +143,7 @@ class FilterByLikeTest extends TestCase ...@@ -143,7 +143,7 @@ class FilterByLikeTest extends TestCase
$this->assertCount($countPosts, $result); $this->assertCount($countPosts, $result);
} }
public function testFilterDateWithDifferentKey(): void public function testFilterLikeWithDifferentKey(): void
{ {
/** @var PostRepository $postRepository */ /** @var PostRepository $postRepository */
$postRepository = $this->em->getRepository(Post::class); $postRepository = $this->em->getRepository(Post::class);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment