/** * @param \Shopware\Models\Article\Detail|array|null $mainDetail * @return \Shopware\Models\Article\Detail */ public function setMainDetail($mainDetail) { $return = $this->setOneToOne($mainDetail, '\\Shopware\\Models\\Article\\Detail', 'mainDetail', 'article'); if ($this->mainDetail instanceof \Shopware\Models\Article\Detail) { $this->mainDetail->setKind(1); } return $return; }
/** * Create function for the internal usage of the rest api. * Used from the article resource. This function supports * to pass an updated article entity which isn't updated in the database. * Required for the article resource if the article data is already updated * in the entity but not in the database. * * @param array $data * @param ArticleModel $article * @return Detail * @throws \Shopware\Components\Api\Exception\ValidationException */ public function internalCreate(array $data, ArticleModel $article) { $variant = new Detail(); $variant->setKind(2); $variant->setArticle($article); $data = $this->prepareData($data, $article, $variant); $variant->fromArray($data); $this->getManager()->persist($variant); return $variant; }
/** * {@inheritDoc} */ public function setKind($kind) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setKind', array($kind)); return parent::setKind($kind); }
/** * Helper function which converts the passed data for the main variant of the article. * @param array $data * @param ArticleModel $article * @return array */ public function prepareMainDetail(array $data, ArticleModel $article) { $detail = $article->getMainDetail(); if (!$detail) { $detail = new Detail(); $detail->setKind(1); $detail->setArticle($article); $article->setMainDetail($detail); } $data['mainDetail'] = $this->getVariantResource()->prepareMainVariantData($data['mainDetail'], $article, $detail); return $data; }