private function addRelation($oLocalColumn, $oUsersTable, $oUsersId) { $oFk = new ForeignKey(); $oFk->setTable($this->getTable()); $oFk->setForeignTableCommonName($oUsersTable->getName()); if (!$oFk->isMatchedByInverseFK()) { $oFk->setOnDelete(ForeignKey::SETNULL); $oFk->setOnUpdate(null); $oFk->addReference($oLocalColumn, $oUsersId); $this->getTable()->addForeignKey($oFk); } }
/** * A utility function to create a new foreign key * from attrib and add it to this table. */ public function addForeignKey($fkdata) { if ($fkdata instanceof ForeignKey) { $fk = $fkdata; $fk->setTable($this); $this->foreignKeys[] = $fk; if ($this->foreignTableNames === null) { $this->foreignTableNames = array(); } if (!in_array($fk->getForeignTableName(), $this->foreignTableNames)) { $this->foreignTableNames[] = $fk->getForeignTableName(); } return $fk; } else { $fk = new ForeignKey(); $fk->setTable($this); $fk->loadFromXML($fkdata); return $this->addForeignKey($fk); } }