Example #1
0
 /**
  * @param ShopContextInterface $context
  * @return \Doctrine\DBAL\Query\QueryBuilder
  */
 private function getQuery(ShopContextInterface $context)
 {
     $query = $this->connection->createQueryBuilder();
     $query->addSelect($this->fieldHelper->getPropertyGroupFields())->addSelect($this->fieldHelper->getPropertyOptionFields())->addSelect($this->fieldHelper->getMediaFields());
     $query->from('s_filter_options', 'propertyGroup')->innerJoin('propertyGroup', 's_filter_values', 'propertyOption', 'propertyOption.optionID = propertyGroup.id')->leftJoin('propertyOption', 's_media', 'media', 'propertyOption.media_id = media.id')->leftJoin('media', 's_media_attributes', 'mediaAttribute', 'mediaAttribute.mediaID = media.id')->leftJoin('media', 's_media_album_settings', 'mediaSettings', 'mediaSettings.albumID = media.albumID');
     $this->fieldHelper->addPropertyGroupTranslation($query, $context);
     $this->fieldHelper->addPropertyOptionTranslation($query, $context);
     $query->where('propertyGroup.id = :id');
     return $query;
 }