/** * buildParentFromFields * * @param Doctrine_Table $parent * @return void */ protected function buildParentFromFields($parent) { $parentClass = $this->_options['extends']; $parentTable = Doctrine_Core::getTable($parentClass); $colsParent = $parentTable->getColumns(); foreach ($colsParent as $column => $definition) { $fieldName = $this->getTable()->getFieldName($column); if (in_array($fieldName, array('id', 'parent_id', $this->_options['descendant_column']))) { continue; } $parent->{$fieldName} = $this->_invoker->{$fieldName}; } $parent->{$this->_options['descendant_column']} = $this->getTable()->getTableName(); $parent->save(); $this->_invoker->parent_id = $parent->id; }