• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Schema\ForeignKeyConstraint类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Doctrine\DBAL\Schema\ForeignKeyConstraint的典型用法代码示例。如果您正苦于以下问题:PHP ForeignKeyConstraint类的具体用法?PHP ForeignKeyConstraint怎么用?PHP ForeignKeyConstraint使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了ForeignKeyConstraint类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: acceptForeignKey

 /**
  * {@inheritdoc}
  */
 public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint)
 {
     if (strlen($fkConstraint->getName()) == 0) {
         throw SchemaException::namedForeignKeyRequired($localTable, $fkConstraint);
     }
     $this->constraints->attach($fkConstraint, $localTable);
 }
开发者ID:alvarobfdev,项目名称:applog,代码行数:10,代码来源:DropSchemaSqlCollector.php


示例2: testIntersectsIndexColumns

 /**
  * @group DBAL-1062
  *
  * @dataProvider getIntersectsIndexColumnsData
  */
 public function testIntersectsIndexColumns(array $indexColumns, $expectedResult)
 {
     $foreignKey = new ForeignKeyConstraint(array('foo', 'bar'), 'foreign_table', array('fk_foo', 'fk_bar'));
     $index = $this->getMockBuilder('Doctrine\\DBAL\\Schema\\Index')->disableOriginalConstructor()->getMock();
     $index->expects($this->once())->method('getColumns')->will($this->returnValue($indexColumns));
     $this->assertSame($expectedResult, $foreignKey->intersectsIndexColumns($index));
 }
开发者ID:selimcr,项目名称:servigases,代码行数:12,代码来源:ForeignKeyConstraintTest.php


示例3: acceptForeignKey

 /**
  * @param Table $localTable
  * @param ForeignKeyConstraint $fkConstraint
  */
 public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint)
 {
     if (strlen($fkConstraint->getName()) == 0) {
         throw SchemaException::namedForeignKeyRequired($localTable, $fkConstraint);
     }
     $this->_constraints[] = $this->_platform->getDropForeignKeySQL($fkConstraint->getQuotedName($this->_platform), $localTable->getQuotedName($this->_platform));
 }
开发者ID:MarS2806,项目名称:Zend-Framework--Doctrine-ORM--PHPUnit--Ant--Jenkins-CI--TDD-,代码行数:11,代码来源:DropSchemaSqlCollector.php


示例4: acceptForeignKey

 /**
  * @param Table $localTable
  * @param ForeignKeyConstraint $fkConstraint
  */
 public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint)
 {
     if ($this->_addExplicitIndexForForeignKey) {
         $columns = $fkConstraint->getColumns();
         if ($localTable->columnsAreIndexed($columns)) {
             return;
         }
         $localTable->addIndex($columns);
     }
 }
开发者ID:jacques-sounvi,项目名称:addressbook,代码行数:14,代码来源:FixSchema.php


示例5: acceptForeignKey

 /**
  * {@inheritdoc}
  */
 public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint)
 {
     // The table may already be deleted in a previous
     // RemoveNamespacedAssets#acceptTable call. Removing Foreign keys that
     // point to nowhere.
     if (!$this->schema->hasTable($fkConstraint->getForeignTableName())) {
         $localTable->removeForeignKey($fkConstraint->getName());
         return;
     }
     $foreignTable = $this->schema->getTable($fkConstraint->getForeignTableName());
     if (!$foreignTable->isInDefaultNamespace($this->schema->getName())) {
         $localTable->removeForeignKey($fkConstraint->getName());
     }
 }
开发者ID:Kevin-ZK,项目名称:vaneDisk,代码行数:17,代码来源:RemoveNamespacedAssets.php


示例6: _addForeignKeyConstraint

 /**
  * @param ForeignKeyConstraint $constraint
  */
 protected function _addForeignKeyConstraint(ForeignKeyConstraint $constraint)
 {
     $constraint->setLocalTable($this);
     if (strlen($constraint->getName())) {
         $name = $constraint->getName();
     } else {
         $name = $this->_generateIdentifierName(array_merge((array) $this->getName(), $constraint->getLocalColumns()), "fk", $this->_getMaxIdentifierLength());
     }
     $name = strtolower($name);
     $this->_fkConstraints[$name] = $constraint;
 }
开发者ID:andreia,项目名称:doctrine,代码行数:14,代码来源:Table.php


示例7: diffForeignKey

 /**
  * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $key1
  * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $key2
  *
  * @return boolean
  */
 public function diffForeignKey(ForeignKeyConstraint $key1, ForeignKeyConstraint $key2)
 {
     if (array_map('strtolower', $key1->getUnquotedLocalColumns()) != array_map('strtolower', $key2->getUnquotedLocalColumns())) {
         return true;
     }
     if (array_map('strtolower', $key1->getUnquotedForeignColumns()) != array_map('strtolower', $key2->getUnquotedForeignColumns())) {
         return true;
     }
     if ($key1->getUnqualifiedForeignTableName() !== $key2->getUnqualifiedForeignTableName()) {
         return true;
     }
     if ($key1->onUpdate() != $key2->onUpdate()) {
         return true;
     }
     if ($key1->onDelete() != $key2->onDelete()) {
         return true;
     }
     return false;
 }
开发者ID:kirkbauer2,项目名称:kirkxc,代码行数:25,代码来源:Comparator.php


示例8: getGenerateConstraintForeignKeySql

 public function getGenerateConstraintForeignKeySql(ForeignKeyConstraint $fk)
 {
     $quotedForeignTable = $fk->getQuotedForeignTableName($this->_platform);
     return 'ALTER TABLE test ADD CONSTRAINT FOREIGN KEY (fk_name) ' . 'REFERENCES ' . $quotedForeignTable . ' (id) CONSTRAINT constraint_fk';
 }
开发者ID:josemalonsom,项目名称:ifx4dd,代码行数:5,代码来源:InformixPlatformTest.php


示例9: getAdvancedForeignKeyOptionsSQL

 /**
  * {@inheritDoc}
  */
 public function getAdvancedForeignKeyOptionsSQL(\Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey)
 {
     $query = '';
     if ($foreignKey->hasOption('match')) {
         $query .= ' MATCH ' . $foreignKey->getOption('match');
     }
     $query .= parent::getAdvancedForeignKeyOptionsSQL($foreignKey);
     return $query;
 }
开发者ID:tamboer,项目名称:LaravelOctober,代码行数:12,代码来源:MySqlPlatform.php


示例10: getAdvancedForeignKeyOptionsSQL

 /**
  * {@inheritDoc}
  */
 public function getAdvancedForeignKeyOptionsSQL(\Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey)
 {
     $query = '';
     if ($foreignKey->hasOption('match')) {
         $query .= ' MATCH ' . $foreignKey->getOption('match');
     }
     $query .= parent::getAdvancedForeignKeyOptionsSQL($foreignKey);
     if ($foreignKey->hasOption('deferrable') && $foreignKey->getOption('deferrable') !== false) {
         $query .= ' DEFERRABLE';
     } else {
         $query .= ' NOT DEFERRABLE';
     }
     if ($foreignKey->hasOption('feferred') && $foreignKey->getOption('feferred') !== false || $foreignKey->hasOption('deferred') && $foreignKey->getOption('deferred') !== false) {
         $query .= ' INITIALLY DEFERRED';
     } else {
         $query .= ' INITIALLY IMMEDIATE';
     }
     return $query;
 }
开发者ID:cuppyzh,项目名称:go_laundry,代码行数:22,代码来源:PostgreSqlPlatform.php


示例11: getForeignKeyBaseDeclarationSQL

 /**
  * Obtain DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
  * of a field declaration to be used in statements like CREATE TABLE.
  *
  * @param ForeignKeyConstraint $foreignKey
  * @return string
  */
 public function getForeignKeyBaseDeclarationSQL(ForeignKeyConstraint $foreignKey)
 {
     $sql = '';
     if (strlen($foreignKey->getName())) {
         $sql .= 'CONSTRAINT ' . $foreignKey->getQuotedName($this) . ' ';
     }
     $sql .= 'FOREIGN KEY (';
     if (count($foreignKey->getLocalColumns()) == 0) {
         throw new \InvalidArgumentException("Incomplete definition. 'local' required.");
     }
     if (count($foreignKey->getForeignColumns()) == 0) {
         throw new \InvalidArgumentException("Incomplete definition. 'foreign' required.");
     }
     if (strlen($foreignKey->getForeignTableName()) == 0) {
         throw new \InvalidArgumentException("Incomplete definition. 'foreignTable' required.");
     }
     $sql .= implode(', ', $foreignKey->getLocalColumns()) . ') REFERENCES ' . $foreignKey->getForeignTableName() . ' (' . implode(', ', $foreignKey->getForeignColumns()) . ')';
     return $sql;
 }
开发者ID:pollux1er,项目名称:dlawebdev2,代码行数:26,代码来源:AbstractPlatform.php


示例12: _addForeignKeyConstraint

 /**
  * @param ForeignKeyConstraint $constraint
  *
  * @return void
  */
 protected function _addForeignKeyConstraint(ForeignKeyConstraint $constraint)
 {
     $constraint->setLocalTable($this);
     if (strlen($constraint->getName())) {
         $name = $constraint->getName();
     } else {
         $name = $this->_generateIdentifierName(array_merge((array) $this->getName(), $constraint->getLocalColumns()), "fk", $this->_getMaxIdentifierLength());
     }
     $name = $this->normalizeIdentifier($name);
     $this->_fkConstraints[$name] = $constraint;
     // add an explicit index on the foreign key columns. If there is already an index that fulfils this requirements drop the request.
     // In the case of __construct calling this method during hydration from schema-details all the explicitly added indexes
     // lead to duplicates. This creates computation overhead in this case, however no duplicate indexes are ever added (based on columns).
     $indexName = $this->_generateIdentifierName(array_merge(array($this->getName()), $constraint->getColumns()), "idx", $this->_getMaxIdentifierLength());
     $indexCandidate = $this->_createIndex($constraint->getColumns(), $indexName, false, false);
     foreach ($this->_indexes as $existingIndex) {
         if ($indexCandidate->isFullfilledBy($existingIndex)) {
             return;
         }
     }
     $this->_addIndex($indexCandidate);
     $this->implicitIndexes[$this->normalizeIdentifier($indexName)] = $indexCandidate;
 }
开发者ID:BusinessCookies,项目名称:CoffeeMachineProject,代码行数:28,代码来源:Table.php


示例13: getAdvancedForeignKeyOptionsSQL

 /**
  * Returns the FOREIGN KEY query section dealing with non-standard options
  * as MATCH, INITIALLY DEFERRED, ON UPDATE, ...
  *
  * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey The foreign key definition.
  *
  * @return string
  */
 public function getAdvancedForeignKeyOptionsSQL(ForeignKeyConstraint $foreignKey)
 {
     $query = '';
     if ($this->supportsForeignKeyOnUpdate() && $foreignKey->hasOption('onUpdate')) {
         $query .= ' ON UPDATE ' . $this->getForeignKeyReferentialActionSQL($foreignKey->getOption('onUpdate'));
     }
     if ($foreignKey->hasOption('onDelete')) {
         $query .= ' ON DELETE ' . $this->getForeignKeyReferentialActionSQL($foreignKey->getOption('onDelete'));
     }
     return $query;
 }
开发者ID:BozzaCoon,项目名称:SPHERE-Framework,代码行数:19,代码来源:AbstractPlatform.php


示例14: createForeignKeyReplacement

 /**
  * Creates a foreign index replacement, which has quoted column names.
  *
  * @param ForeignKeyConstraint $fk
  *
  * @return ForeignKeyConstraint
  */
 private function createForeignKeyReplacement(ForeignKeyConstraint $fk)
 {
     return new ForeignKeyConstraint($this->quoteIdentifiers($fk->getLocalColumns()), $this->platform->quoteIdentifier($fk->getForeignTableName()), $this->quoteIdentifiers($fk->getForeignColumns()), $this->platform->quoteIdentifier($fk->getName()), $fk->getOptions());
 }
开发者ID:digilist,项目名称:snakedumper,代码行数:11,代码来源:IdentifierQuoter.php


示例15: getCreateForeignKeySQL

 /**
  * @param ForeignKeyConstraint $foreignKey
  * @param Table|string         $table
  *
  * @return string
  */
 public function getCreateForeignKeySQL(ForeignKeyConstraint $foreignKey, $table)
 {
     $columns = $foreignKey->getColumns();
     $column = reset($columns);
     $column = $table->getColumn($column);
     $sql = array();
     if ($column->hasCustomSchemaOption('definedIn') and $column->getCustomSchemaOption('definedIn') === 'link') {
         $sql = $this->_getCreateColumnSQL($foreignKey->getLocalTableName(), $column->getName(), $column->toArray());
     }
     return $sql;
 }
开发者ID:mihai-stancu,项目名称:orientdb-orm,代码行数:17,代码来源:OrientDBPlatform.php


示例16: checkForeignKeyConstraint

 /**
  * Do checks for foreignKey constraints.
  *
  * @param ForeignKeyConstraint $foreignKeyConstraint
  * @param IgnoredChange        $ignoredChange
  *
  * @return boolean
  */
 protected function checkForeignKeyConstraint(ForeignKeyConstraint $foreignKeyConstraint, IgnoredChange $ignoredChange)
 {
     // Not needed to be implemented yet
     if ($ignoredChange->getPropertyName() !== $foreignKeyConstraint->getName()) {
         return false;
     }
     return false;
 }
开发者ID:zomars,项目名称:bolt,代码行数:16,代码来源:DiffUpdater.php


示例17: getForeignKeyDeclarationSQL

 /**
  * {@inheritDoc}
  */
 public function getForeignKeyDeclarationSQL(ForeignKeyConstraint $foreignKey)
 {
     return parent::getForeignKeyDeclarationSQL(new ForeignKeyConstraint($foreignKey->getQuotedLocalColumns($this), str_replace('.', '__', $foreignKey->getQuotedForeignTableName($this)), $foreignKey->getQuotedForeignColumns($this), $foreignKey->getName(), $foreignKey->getOptions()));
 }
开发者ID:betes-curieuses-design,项目名称:ElieJosiePhotographie,代码行数:7,代码来源:SqlitePlatform.php


示例18: checkForeignKeyConstraint

 /**
  * Do checks for foreignKey constraints.
  *
  * @param ForeignKeyConstraint $foreignKeyConstraint
  * @param array                $alterData
  *
  * @return boolean
  */
 protected function checkForeignKeyConstraint(ForeignKeyConstraint $foreignKeyConstraint, array $alterData)
 {
     // Not needed to be implemented yet
     if ($alterData['propertyName'] !== $foreignKeyConstraint->getName()) {
         return false;
     }
     return false;
 }
开发者ID:somekoala,项目名称:bolt,代码行数:16,代码来源:DiffUpdater.php


示例19: acceptForeignKey

 /**
  * {@inheritdoc}
  */
 public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint)
 {
     $this->output .= $this->createNodeRelation($fkConstraint->getLocalTableName() . ":col" . current($fkConstraint->getLocalColumns()) . ":se", $fkConstraint->getForeignTableName() . ":col" . current($fkConstraint->getForeignColumns()) . ":se", array('dir' => 'back', 'arrowtail' => 'dot', 'arrowhead' => 'normal'));
 }
开发者ID:BozzaCoon,项目名称:SPHERE-Framework,代码行数:7,代码来源:Graphviz.php


示例20: getAdvancedForeignKeyOptionsSQL

 /**
  * {@inheritdoc}
  */
 public function getAdvancedForeignKeyOptionsSQL(ForeignKeyConstraint $foreignKey)
 {
     $referentialAction = null;
     if ($foreignKey->hasOption('onDelete')) {
         $referentialAction = $this->getForeignKeyReferentialActionSQL($foreignKey->getOption('onDelete'));
     }
     return $referentialAction ? ' ON DELETE ' . $referentialAction : '';
 }
开发者ID:butonic,项目名称:dbal,代码行数:11,代码来源:OraclePlatform.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Schema\Identifier类代码示例发布时间:2022-05-23
下一篇:
PHP Schema\Comparator类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap