Skip to content

Commit 03ce36e

Browse files
authored
Revert "Simplify boolean filter"
1 parent 7fb6254 commit 03ce36e

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

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

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

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

104106
/**

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 = true', Dummy::class),
70+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', 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 = false', Dummy::class),
81+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', 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 = false', Dummy::class),
103+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', 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 = true', Dummy::class),
114+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', 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 = true', Dummy::class),
125+
sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 WHERE relatedDummy_a1.dummyBoolean = :dummyBoolean_p1', 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 = false', Dummy::class),
183+
sprintf('SELECT o FROM %s o WHERE o.dummyBoolean = :dummyBoolean_p1', Dummy::class),
184184
],
185185
];
186186
}

0 commit comments

Comments
 (0)