/** * * @param unknown $column * @param unknown $referenceTable * @param unknown $referenceColumn * @param unknown $update * @param unknown $delete */ public function __construct($column, $referenceTable, $referenceColumn, $update, $delete) { // r = raiz // d = destino $nameReferenceTable = $referenceTable; if ($referenceTable instanceof TableIdentifier) { $nameReferenceTable = $referenceTable->getTable(); $referenceTable = "{$referenceTable->getSchema()}.{$referenceTable->getTable()}"; } $name = "{$nameReferenceTable}_r{$column}_d{$referenceColumn}_fkey"; $this->setOnUpdateRule(strtoupper($update)); $this->setOnDeleteRule(strtoupper($delete)); parent::__construct($name, $column, $referenceTable, $referenceColumn); }
/** * @covers Zend\Db\Sql\Ddl\Constraint\ForeignKey::getExpressionData */ public function testGetExpressionData() { $fk = new ForeignKey('foo', 'bar', 'baz', 'bam', 'CASCADE', 'SET NULL'); $this->assertEquals(array(array('CONSTRAINT %1$s FOREIGN KEY (%2$s) REFERENCES %3$s (%4$s) ON DELETE %5$s ON UPDATE %6$s', array('foo', 'bar', 'baz', 'bam', 'CASCADE', 'SET NULL'), array($fk::TYPE_IDENTIFIER, $fk::TYPE_IDENTIFIER, $fk::TYPE_IDENTIFIER, $fk::TYPE_IDENTIFIER, $fk::TYPE_LITERAL, $fk::TYPE_LITERAL))), $fk->getExpressionData()); }