当前位置: 首页>>代码示例>>PHP>>正文


PHP ForeignKey::getForeignColumnObjects方法代码示例

本文整理汇总了PHP中Propel\Generator\Model\ForeignKey::getForeignColumnObjects方法的典型用法代码示例。如果您正苦于以下问题:PHP ForeignKey::getForeignColumnObjects方法的具体用法?PHP ForeignKey::getForeignColumnObjects怎么用?PHP ForeignKey::getForeignColumnObjects使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Propel\Generator\Model\ForeignKey的用法示例。


在下文中一共展示了ForeignKey::getForeignColumnObjects方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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));
 }
开发者ID:disider,项目名称:Propel2,代码行数:23,代码来源:ForeignKeyTest.php

示例2: getForeignKeyDDL

 public function getForeignKeyDDL(ForeignKey $fk)
 {
     if ($fk->isSkipSql() || $fk->isPolymorphic()) {
         return;
     }
     $pattern = 'CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s)';
     $script = sprintf($pattern, $this->quoteIdentifier($fk->getName()), $this->getColumnListDDL($fk->getLocalColumnObjects()), $this->quoteIdentifier($fk->getForeignTableName()), $this->getColumnListDDL($fk->getForeignColumnObjects()));
     if ($fk->hasOnUpdate() && $fk->getOnUpdate() != ForeignKey::SETNULL) {
         $script .= ' ON UPDATE ' . $fk->getOnUpdate();
     }
     if ($fk->hasOnDelete() && $fk->getOnDelete() != ForeignKey::SETNULL) {
         $script .= ' ON DELETE ' . $fk->getOnDelete();
     }
     return $script;
 }
开发者ID:dracony,项目名称:forked-php-orm-benchmark,代码行数:15,代码来源:MssqlPlatform.php

示例3: getForeignKeyDDL

 public function getForeignKeyDDL(ForeignKey $fk)
 {
     if ($fk->isSkipSql() || $fk->isPolymorphic()) {
         return;
     }
     $pattern = "CONSTRAINT %s\n    FOREIGN KEY (%s) REFERENCES %s (%s)";
     $script = sprintf($pattern, $this->quoteIdentifier($fk->getName()), $this->getColumnListDDL($fk->getLocalColumnObjects()), $this->quoteIdentifier($fk->getForeignTableName()), $this->getColumnListDDL($fk->getForeignColumnObjects()));
     if ($fk->hasOnDelete()) {
         $script .= "\n    ON DELETE " . $fk->getOnDelete();
     }
     return $script;
 }
开发者ID:smoqs,项目名称:Propel2,代码行数:12,代码来源:OraclePlatform.php

示例4: getForeignKeyDDL

 public function getForeignKeyDDL(ForeignKey $fk)
 {
     if ($fk->isSkipSql() || !$this->foreignKeySupport) {
         return;
     }
     $pattern = "FOREIGN KEY (%s) REFERENCES %s (%s)";
     $script = sprintf($pattern, $this->getColumnListDDL($fk->getLocalColumnObjects()), $this->quoteIdentifier($fk->getForeignTableName()), $this->getColumnListDDL($fk->getForeignColumnObjects()));
     if ($fk->hasOnUpdate()) {
         $script .= "\n    ON UPDATE " . $fk->getOnUpdate();
     }
     if ($fk->hasOnDelete()) {
         $script .= "\n    ON DELETE " . $fk->getOnDelete();
     }
     return $script;
 }
开发者ID:KyleGoslan,项目名称:Huge-Propel,代码行数:15,代码来源:SqlitePlatform.php


注:本文中的Propel\Generator\Model\ForeignKey::getForeignColumnObjects方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。