public function addIndexedFilterToAttributeCollection(AttributeCollection $attributeCollection)
{
$conditions = [];
foreach ($this->indexedAttributesConditions as $fieldName => $condition) {
if ($condition['operator'] == 'IN' || is_array($condition['value'])) {
$conditionString = sprintf('%s %s (?)', $fieldName, $condition['operator']);
$conditions[] = $this->connection->quoteInto($conditionString, $condition['value']);
} elseif (!is_array($condition['value'])) {
$conditions[] = sprintf('%s %s %s', $fieldName, $condition['operator'], $condition['value']);
}
}
if (!empty($conditions)) {
$select = $attributeCollection->getSelect();
$select->where(implode(' OR ', $conditions));
}
return $attributeCollection;
}