Skip to content

Commit 7fb6254

Browse files
authored
Merge pull request #1905 from bendavies/simplify-boolean-filter
Simplify boolean filter
2 parents 5335963 + bfe7c0d commit 7fb6254

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

src/Bridge/Doctrine/Orm/Filter/BooleanFilter.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,9 @@ protected function filterProperty(string $property, $value, QueryBuilder $queryB
9696
list($alias, $field) = $this->addJoinsForNestedProperty($property, $alias, $queryBuilder, $queryNameGenerator, $resourceClass);
9797
}
9898

99-
$valueParameter = $queryNameGenerator->generateParameterName($field);
100-
99+
$expr = $queryBuilder->expr();
101100
$queryBuilder
102-
->andWhere(sprintf('%s.%s = :%s', $alias, $field, $valueParameter))
103-
->setParameter($valueParameter, $value);
101+
->andWhere($expr->eq(sprintf('%s.%s', $alias, $field), $expr->literal($value)));
104102
}
105103

106104
/**

tests/Bridge/Doctrine/Orm/Filter/BooleanFilterTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public function provideApplyTestData(): array
6767
[
6868
'dummyBoolean' => 'true',
6969
],
70-
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', Dummy::class),
70+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = true', Dummy::class),
7171
],
7272
'string ("false")' => [
7373
[
@@ -78,7 +78,7 @@ public function provideApplyTestData(): array
7878
[
7979
'dummyBoolean' => 'false',
8080
],
81-
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', Dummy::class),
81+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = false', Dummy::class),
8282
],
8383
'non-boolean' => [
8484
[
@@ -100,7 +100,7 @@ public function provideApplyTestData(): array
100100
[
101101
'dummyBoolean' => '0',
102102
],
103-
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', Dummy::class),
103+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = false', Dummy::class),
104104
],
105105
'numeric string ("1")' => [
106106
[
@@ -111,7 +111,7 @@ public function provideApplyTestData(): array
111111
[
112112
'dummyBoolean' => '1',
113113
],
114-
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', Dummy::class),
114+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = true', Dummy::class),
115115
],
116116
'nested properties' => [
117117
[
@@ -122,7 +122,7 @@ public function provideApplyTestData(): array
122122
[
123123
'relatedDummy.dummyBoolean' => '1',
124124
],
125-
sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 WHERE relatedDummy_a1.dummyBoolean = :dummyBoolean_p1', Dummy::class),
125+
sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 WHERE relatedDummy_a1.dummyBoolean = true', Dummy::class),
126126
],
127127
'numeric string ("1") on non-boolean property' => [
128128
[
@@ -180,7 +180,7 @@ public function provideApplyTestData(): array
180180
'name' => 'true',
181181
'id' => '0',
182182
],
183-
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', Dummy::class),
183+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = false', Dummy::class),
184184
],
185185
];
186186
}

0 commit comments

Comments
 (0)