/** * Add a link to the scheme * * @param One_Relation_Adapter $link */ public function addLink(One_Relation_Adapter $link) { $this->_links[$link->getName()] = $link; $this->_linksById[$link->getLinkId()] = $link; if ($link->getAdapterType() instanceof One_Relation_Adapter_Manytoone) { if (null !== $link->getForeignKey()) { $this->_foreignKeys[] = $link->getForeignKey(); } } }
/** * Saves all "many-to-many" and "one-to-many"-relations * * @param One_Relation_Adapter $link * @return void */ public function saveRelated(One_Relation_Adapter $link) { if (array_key_exists($link->getName(), $this->_modifiedRelations) && $link->getAdapterType() != "manytoone") { $link->save($this); } if (array_key_exists($link->getName(), $this->_addedRelations) && $link->getAdapterType() != "manytoone") { $link->add($this); } if (array_key_exists($link->getName(), $this->_deletedRelations) && $link->getAdapterType() != "manytoone") { $link->remove($this); } }