/** * @param int $idProduct * @param int $idLocale * * @return \Propel\Runtime\Collection\ArrayCollection */ public function getProductOptionsByIdProductAndIdLocale($idProduct, $idLocale) { $query = $this->queryContainer->queryProductOptionTypeUsageByIdProduct($idProduct)->useSpyProductOptionTypeQuery(null, Criteria::LEFT_JOIN)->useSpyProductOptionTypeTranslationQuery(null, Criteria::LEFT_JOIN)->filterByFkLocale($idLocale)->endUse()->endUse()->useSpyProductOptionValueUsageQuery(null, Criteria::LEFT_JOIN)->useSpyProductOptionValueQuery(null, Criteria::LEFT_JOIN)->useSpyProductOptionValueTranslationQuery(null, Criteria::LEFT_JOIN)->endUse()->endUse()->endUse()->withColumn(SpyProductOptionTypeTranslationTableMap::COL_NAME, self::COL_TRANSLATION_TYPE_ALIAS)->withColumn(SpyProductOptionValueTranslationTableMap::COL_NAME, self::COL_TRANSLATION_VALUE_ALIAS)->clearGroupByColumns()->groupByFkProductOptionType(); $productOptionsCollection = $query->find(); $productList = new ArrayCollection(); foreach ($productOptionsCollection as $productOptionsItem) { $objectHash = spl_object_hash($productOptionsItem); // @todo CD-414 propel uses all columns in group by and it should not if (!$productList->offsetExists($objectHash)) { $option = $productOptionsItem->toArray(); $productOptions = new ProductOptionsNameValueTransfer(); $productOptions->setType($option[self::COL_TRANSLATION_TYPE_ALIAS]); $productOptions->setValue($option[self::COL_TRANSLATION_VALUE_ALIAS]); $productList[$objectHash] = $productOptions; } } return $productList; }
public function getWorkerObject() { return parent::getWorkerObject(); }