Skip to content

Commit fc6ec57

Browse files
committed
Merge pull request #60 from mocdk/query-filter-multiple
[FEATURE] ``queryFilterMultiple`` operation for QueryBuilder
2 parents f7aabfe + cede5c5 commit fc6ec57

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

Classes/Flowpack/ElasticSearch/ContentRepositoryAdaptor/Eel/ElasticSearchQueryBuilder.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,26 @@ public function appendAtPath($path, array $data) {
336336
return $this;
337337
}
338338

339+
/**
340+
* Add multiple filters to query.filtered.filter
341+
*
342+
* @param array $data An associative array of keys as variable names and values as variable values
343+
* @param string $clauseType one of must, should, must_not
344+
* @return ElasticSearchQueryBuilder
345+
*/
346+
public function queryFilterMultiple($data, $clauseType = 'must') {
347+
foreach ($data as $key => $value) {
348+
if ($value !== NULL) {
349+
if (is_array($value)) {
350+
$this->queryFilter('terms', array($key => $value), $clauseType);
351+
} else {
352+
$this->queryFilter('term', array($key => $value), $clauseType);
353+
}
354+
}
355+
}
356+
return $this;
357+
}
358+
339359
/**
340360
* Get the ElasticSearch request as we need it
341361
*

0 commit comments

Comments
 (0)