@@ -89,6 +89,15 @@ protected function filterProperty(string $property, $value, QueryBuilder $queryB
89
89
[$ alias , $ field , $ associations ] = $ this ->addJoinsForNestedProperty ($ property , $ alias , $ queryBuilder , $ queryNameGenerator , $ resourceClass );
90
90
}
91
91
92
+ $ caseSensitive = true ;
93
+ $ strategy = $ this ->properties [$ property ] ?? self ::STRATEGY_EXACT ;
94
+
95
+ // prefixing the strategy with i makes it case insensitive
96
+ if (0 === strpos ($ strategy , 'i ' )) {
97
+ $ strategy = substr ($ strategy , 1 );
98
+ $ caseSensitive = false ;
99
+ }
100
+
92
101
$ metadata = $ this ->getNestedMetadata ($ resourceClass , $ associations );
93
102
94
103
if ($ metadata ->hasField ($ field )) {
@@ -104,15 +113,6 @@ protected function filterProperty(string $property, $value, QueryBuilder $queryB
104
113
return ;
105
114
}
106
115
107
- $ caseSensitive = true ;
108
- $ strategy = $ this ->properties [$ property ] ?? self ::STRATEGY_EXACT ;
109
-
110
- // prefixing the strategy with i makes it case insensitive
111
- if (0 === strpos ($ strategy , 'i ' )) {
112
- $ strategy = substr ($ strategy , 1 );
113
- $ caseSensitive = false ;
114
- }
115
-
116
116
$ this ->addWhereByStrategy ($ strategy , $ queryBuilder , $ queryNameGenerator , $ alias , $ field , $ values , $ caseSensitive );
117
117
118
118
return ;
@@ -143,21 +143,12 @@ protected function filterProperty(string $property, $value, QueryBuilder $queryB
143
143
144
144
$ associationAlias = $ alias ;
145
145
$ associationField = $ field ;
146
- $ valueParameter = $ queryNameGenerator ->generateParameterName ($ associationField );
147
146
if ($ metadata ->isCollectionValuedAssociation ($ associationField )) {
148
147
$ associationAlias = QueryBuilderHelper::addJoinOnce ($ queryBuilder , $ queryNameGenerator , $ alias , $ associationField );
149
148
$ associationField = $ associationFieldIdentifier ;
150
149
}
151
150
152
- if (1 === \count ($ values )) {
153
- $ queryBuilder
154
- ->andWhere ($ queryBuilder ->expr ()->eq ($ associationAlias .'. ' .$ associationField , ': ' .$ valueParameter ))
155
- ->setParameter ($ valueParameter , $ values [0 ]);
156
- } else {
157
- $ queryBuilder
158
- ->andWhere ($ queryBuilder ->expr ()->in ($ associationAlias .'. ' .$ associationField , ': ' .$ valueParameter ))
159
- ->setParameter ($ valueParameter , $ values );
160
- }
151
+ $ this ->addWhereByStrategy ($ strategy , $ queryBuilder , $ queryNameGenerator , $ associationAlias , $ associationField , $ values , $ caseSensitive );
161
152
}
162
153
163
154
/**
0 commit comments