/** * @param \Orm\Zed\ProductOption\Persistence\SpyProductOptionValue $productOptionValueEntity * @param array $localizedNames * * @return void */ protected function createOrUpdateOptionValueTranslations(SpyProductOptionValue $productOptionValueEntity, array $localizedNames) { foreach ($localizedNames as $localeName => $localizedOptionValueName) { if ($this->localeFacade->hasLocale($localeName) === false) { continue; } $localeTransfer = $this->localeFacade->getLocale($localeName); $translationEntity = $this->queryContainer->queryProductOptionValueTranslationByFks($productOptionValueEntity->getIdProductOptionValue(), $localeTransfer->getIdLocale())->findOneOrCreate(); $translationEntity->setName($localizedOptionValueName); $translationEntity->setFkLocale($localeTransfer->getIdLocale()); $translationEntity->setFkProductOptionValue($productOptionValueEntity->getIdProductOptionValue()); $translationEntity->save(); $productOptionValueEntity->addSpyProductOptionValueTranslation($translationEntity); } }