/** * @param array $data * @return PropertyOption */ public function createPropertyOption($data) { $option = new PropertyOption(); $option->setId($data['id']); $option->setName($data['name']); $option->setPosition($data['position']); if ($data['media']) { $option->setMedia($this->createMedia($data['media'])); } $option->addAttributes($this->createAttributes($data['attributes'])); return $option; }
/** * @param array $data * @return Struct\Property\Option */ public function hydrateOption(array $data) { $option = new Struct\Property\Option(); $translation = $this->getTranslation($data, '__propertyOption_translation', '__propertyOption_translation_fallback', ['optionValue' => '__propertyOption_value']); $data = array_merge($data, $translation); $option->setId((int) $data['__propertyOption_id']); $option->setName($data['__propertyOption_value']); $option->setPosition((int) $data['__propertyOption_position']); if (isset($data['__media_id']) && $data['__media_id']) { $option->setMedia($this->mediaHydrator->hydrate($data)); } return $option; }