protected function prepareChildObject(\Ess\M2ePro\Model\ActiveRecord\Component\Parent\AbstractModel $object) { $data = $object->getData(); $object->unsetData(); $modelName = str_replace('Ess\\M2ePro\\Model', ucwords($this->childMode), $this->_model); $childObject = $this->activeRecordFactory->getObject($modelName); $childColumnsData = $this->getConnection()->describeTable($this->getResource()->getChildTable()); foreach ($childColumnsData as $columnData) { if (!isset($data[$columnData['COLUMN_NAME']])) { continue; } $childObject->setData($columnData['COLUMN_NAME'], $data[$columnData['COLUMN_NAME']]); unset($data[$columnData['COLUMN_NAME']]); } // setting parent data + data from additionally joined tables $object->setData($data); $object->setOrigData(); $childObject->setParentObject($object); $childObject->setOrigData(); $object->setChildObject($childObject); return $object; }