/**
* {@inheritdoc}
*/
public function getList(array
$valueIds, ShopContextInterface
$context, array
$filterGroupIds =
[]) { $query =
$this->connection->
createQueryBuilder();
$query ->
addSelect('relations.position as __relations_position'
) ->
addSelect($this->fieldHelper->
getPropertySetFields()) ->
addSelect($this->fieldHelper->
getPropertyGroupFields()) ->
addSelect($this->fieldHelper->
getPropertyOptionFields()) ->
addSelect($this->fieldHelper->
getMediaFields()) ;
$query->
from('s_filter', 'propertySet'
) ->
innerJoin('propertySet', 's_filter_relations', 'relations', 'relations.groupID = propertySet.id'
) ->
leftJoin('propertySet', 's_filter_attributes', 'propertySetAttribute', 'propertySetAttribute.filterID = propertySet.id'
) ->
innerJoin('relations', 's_filter_options', 'propertyGroup', 'relations.optionID = propertyGroup.id AND filterable = 1'
) ->
leftJoin('propertyGroup', 's_filter_options_attributes', 'propertyGroupAttribute', 'propertyGroupAttribute.optionID = propertyGroup.id'
) ->
innerJoin('propertyGroup', 's_filter_values', 'propertyOption', 'propertyOption.optionID = propertyGroup.id'
) ->
leftJoin('propertyOption', 's_filter_values_attributes', 'propertyOptionAttribute', 'propertyOptionAttribute.valueID = propertyOption.id'
) ->
leftJoin('propertyOption', 's_media', 'media', 'propertyOption.media_id = media.id'
)