本文整理汇总了PHP中Propel\Generator\Model\ForeignKey::isForeignPrimaryKey方法的典型用法代码示例。如果您正苦于以下问题:PHP ForeignKey::isForeignPrimaryKey方法的具体用法?PHP ForeignKey::isForeignPrimaryKey怎么用?PHP ForeignKey::isForeignPrimaryKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Propel\Generator\Model\ForeignKey
的用法示例。
在下文中一共展示了ForeignKey::isForeignPrimaryKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testForeignKeyIsForeignPrimaryKey
public function testForeignKeyIsForeignPrimaryKey()
{
$database = $this->getDatabaseMock('bookstore');
$platform = $this->getPlatformMock();
$foreignTable = $this->getTableMock('authors');
$localTable = $this->getTableMock('books', ['platform' => $platform, 'database' => $database]);
$idColumn = $this->getColumnMock('id');
$authorIdColumn = $this->getColumnMock('author_id');
$database->expects($this->any())->method('getTable')->with($this->equalTo('authors'))->will($this->returnValue($foreignTable));
$foreignTable->expects($this->once())->method('getPrimaryKey')->will($this->returnValue([$idColumn]));
$foreignTable->expects($this->any())->method('getColumn')->with($this->equalTo('id'))->will($this->returnValue($idColumn));
$localTable->expects($this->any())->method('getColumn')->with($this->equalTo('author_id'))->will($this->returnValue($authorIdColumn));
$fk = new ForeignKey();
$fk->setTable($localTable);
$fk->setForeignTableCommonName('authors');
$fk->addReference('author_id', 'id');
$fkMapping = $fk->getColumnObjectsMapping();
$this->assertTrue($fk->isForeignPrimaryKey());
$this->assertCount(1, $fk->getForeignColumnObjects());
$this->assertSame($authorIdColumn, $fkMapping[0]['local']);
$this->assertSame($idColumn, $fkMapping[0]['foreign']);
$this->assertSame($idColumn, $fk->getForeignColumn(0));
}