/** * @return \Ess\M2ePro\Model\ActiveRecord\Component\Parent\AbstractModel * @throws \Ess\M2ePro\Model\Exception\Logic */ public function getParentObject() { if (is_null($this->getId())) { throw new \Ess\M2ePro\Model\Exception\Logic('Method require loaded instance first'); } if (!is_null($this->parentObject)) { return $this->parentObject; } $tempMode = $this->getComponentMode(); if (is_null($tempMode)) { throw new \Ess\M2ePro\Model\Exception\Logic('Set Component Mode first'); } $modelName = str_replace('Ess\\M2ePro\\Model\\ResourceModel\\' . ucwords($tempMode) . '\\', '', $this->_resourceName); if ($this->isCacheLoading()) { $this->parentObject = $this->activeRecordFactory->getCachedObjectLoaded($modelName, $this->getId()); } else { $this->parentObject = $this->activeRecordFactory->getObjectLoaded($modelName, $this->getId()); } $this->parentObject->setChildMode($tempMode); $this->parentObject->setChildObject($this); return $this->parentObject; }