@@ -254,7 +254,7 @@ public function setFilterBuilder(\Magento\Framework\Api\FilterBuilder $object)
254
254
* Apply attribute filter to facet collection
255
255
*
256
256
* @param string $field
257
- * @param null $condition
257
+ * @param null|string|array $condition
258
258
* @return $this
259
259
*/
260
260
public function addFieldToFilter ($ field , $ condition = null )
@@ -265,30 +265,21 @@ public function addFieldToFilter($field, $condition = null)
265
265
266
266
$ this ->getSearchCriteriaBuilder ();
267
267
$ this ->getFilterBuilder ();
268
- if (!is_array ($ condition ) || !in_array (key ($ condition ), ['from ' , 'to ' ])) {
269
- $ this ->filterBuilder ->setField ($ field );
270
- $ this ->filterBuilder ->setValue ($ condition );
271
- $ this ->searchCriteriaBuilder ->addFilter ($ this ->filterBuilder ->create ());
272
- } else {
273
- if (empty ($ condition ['from ' ]) && empty ($ condition ['to ' ])) {
274
- $ this ->filterBuilder ->setField ($ field );
275
- $ this ->filterBuilder ->setValue ($ condition );
276
- $ this ->filterBuilder ->setConditionType ('in ' );
277
- $ this ->searchCriteriaBuilder ->addFilter (
278
- $ this ->filterBuilder ->create ()
279
- );
280
- }
268
+ if (is_array ($ condition )
269
+ && in_array (key ($ condition ), ['from ' , 'to ' ], true )
270
+ ) {
281
271
if (!empty ($ condition ['from ' ])) {
282
- $ this ->filterBuilder ->setField ("{$ field }.from " );
283
- $ this ->filterBuilder ->setValue ($ condition ['from ' ]);
284
- $ this ->searchCriteriaBuilder ->addFilter ($ this ->filterBuilder ->create ());
272
+ $ this ->addFieldToFilter ("{$ field }.from " , $ condition ['from ' ]);
285
273
}
286
274
if (!empty ($ condition ['to ' ])) {
287
- $ this ->filterBuilder ->setField ("{$ field }.to " );
288
- $ this ->filterBuilder ->setValue ($ condition ['to ' ]);
289
- $ this ->searchCriteriaBuilder ->addFilter ($ this ->filterBuilder ->create ());
275
+ $ this ->addFieldToFilter ("{$ field }.to " , $ condition ['to ' ]);
290
276
}
277
+ } else {
278
+ $ this ->filterBuilder ->setField ($ field );
279
+ $ this ->filterBuilder ->setValue ($ condition );
280
+ $ this ->searchCriteriaBuilder ->addFilter ($ this ->filterBuilder ->create ());
291
281
}
282
+
292
283
return $ this ;
293
284
}
294
285
0 commit comments