當前位置: 首頁>>代碼示例>>PHP>>正文


PHP ForeignKey::setDefaultJoin方法代碼示例

本文整理匯總了PHP中Propel\Generator\Model\ForeignKey::setDefaultJoin方法的典型用法代碼示例。如果您正苦於以下問題:PHP ForeignKey::setDefaultJoin方法的具體用法?PHP ForeignKey::setDefaultJoin怎麽用?PHP ForeignKey::setDefaultJoin使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Propel\Generator\Model\ForeignKey的用法示例。


在下文中一共展示了ForeignKey::setDefaultJoin方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: relateI18nTableToMainTable

 protected function relateI18nTableToMainTable()
 {
     $table = $this->getTable();
     $i18nTable = $this->i18nTable;
     $pks = $this->getTable()->getPrimaryKey();
     if (count($pks) > 1) {
         throw new EngineException('The i18n behavior does not support tables with composite primary keys');
     }
     foreach ($pks as $column) {
         if (!$i18nTable->hasColumn($column->getName())) {
             $column = clone $column;
             $column->setAutoIncrement(false);
             $i18nTable->addColumn($column);
         }
     }
     if (in_array($table->getName(), $i18nTable->getForeignTableNames())) {
         return;
     }
     $fk = new ForeignKey();
     $fk->setForeignTableCommonName($table->getCommonName());
     $fk->setForeignSchemaName($table->getSchema());
     $fk->setDefaultJoin('LEFT JOIN');
     $fk->setOnDelete(ForeignKey::CASCADE);
     $fk->setOnUpdate(ForeignKey::NONE);
     foreach ($pks as $column) {
         $fk->addReference($column->getName(), $column->getName());
     }
     $i18nTable->addForeignKey($fk);
 }
開發者ID:rouffj,項目名稱:Propel2,代碼行數:29,代碼來源:I18nBehavior.php

示例2: relateDelegateToMainTable

 protected function relateDelegateToMainTable($delegateTable, $mainTable)
 {
     $pks = $mainTable->getPrimaryKey();
     foreach ($pks as $column) {
         $mainColumnName = $column->getName();
         if (!$delegateTable->hasColumn($mainColumnName)) {
             $column = clone $column;
             $column->setAutoIncrement(false);
             $delegateTable->addColumn($column);
         }
     }
     // Add a one-to-one fk
     $fk = new ForeignKey();
     $fk->setForeignTableCommonName($mainTable->getCommonName());
     $fk->setForeignSchemaName($mainTable->getSchema());
     $fk->setDefaultJoin('LEFT JOIN');
     $fk->setOnDelete(ForeignKey::CASCADE);
     $fk->setOnUpdate(ForeignKey::NONE);
     foreach ($pks as $column) {
         $fk->addReference($column->getName(), $column->getName());
     }
     $delegateTable->addForeignKey($fk);
 }
開發者ID:rozwell,項目名稱:Propel2,代碼行數:23,代碼來源:DelegateBehavior.php

示例3: ForeignKey

$fkCategoryPost->setForeignTableCommonName('blog_category');
$fkCategoryPost->setRefPhpName('Posts');
$fkCategoryPost->setPhpName('Category');
$fkCategoryPost->setDefaultJoin('Criteria::INNER_JOIN');
$fkCategoryPost->setOnDelete('SETNULL');
$fkPostTag = new ForeignKey('fk_post_has_tags');
$fkPostTag->addReference('post_id', 'id');
$fkPostTag->setForeignTableCommonName('blog_post');
$fkPostTag->setPhpName('Post');
$fkPostTag->setDefaultJoin('Criteria::LEFT_JOIN');
$fkPostTag->setOnDelete('CASCADE');
$fkTagPost = new ForeignKey('fk_tag_has_posts');
$fkTagPost->addReference('tag_id', 'id');
$fkTagPost->setForeignTableCommonName('blog_tag');
$fkTagPost->setPhpName('Tag');
$fkTagPost->setDefaultJoin('Criteria::LEFT_JOIN');
$fkTagPost->setOnDelete('CASCADE');
/* Regular Indexes */
$pageContentFulltextIdx = new Index('page_content_fulltext_idx');
$pageContentFulltextIdx->setColumns([['name' => 'content']]);
$pageContentFulltextIdx->addVendorInfo(new VendorInfo('mysql', ['Index_type' => 'FULLTEXT']));
/* Unique Indexes */
$authorUsernameUnique = new Unique('author_password_unique_idx');
$authorUsernameUnique->setColumns([['name' => 'username', 'size' => '8']]);
/* Behaviors */
$timestampableBehavior = new TimestampableBehavior();
$timestampableBehavior->setName('timestampable');
$sluggableBehavior = new SluggableBehavior();
$sluggableBehavior->setName('sluggable');
/* Tables */
$table1 = new Table('blog_post');
開發者ID:disider,項目名稱:Propel2,代碼行數:31,代碼來源:blog-database.php

示例4: testSetDefaultJoin

 public function testSetDefaultJoin()
 {
     $fk = new ForeignKey();
     $fk->setDefaultJoin('INNER');
     $this->assertSame('INNER', $fk->getDefaultJoin());
 }
開發者ID:disider,項目名稱:Propel2,代碼行數:6,代碼來源:ForeignKeyTest.php

示例5: relateI18nTableToMainTable

 protected function relateI18nTableToMainTable()
 {
     $table = $this->getTable();
     $i18nTable = $this->i18nTable;
     $pks = $this->getTable()->getPrimaryKey();
     if (count($pks) > 1) {
         throw new EngineException('The i18n behavior does not support tables with composite primary keys');
     }
     $column = $pks[0];
     $i18nColumn = clone $column;
     if ($this->getParameter('i18n_pk_column')) {
         // custom i18n table pk name
         $i18nColumn->setName($this->getParameter('i18n_pk_column'));
     } else {
         if (in_array($table->getName(), $i18nTable->getForeignTableNames())) {
             // custom i18n table pk name not set, but some fk already exists
             return;
         }
     }
     if (!$i18nTable->hasColumn($i18nColumn->getName())) {
         $i18nColumn->setAutoIncrement(false);
         $i18nTable->addColumn($i18nColumn);
     }
     $fk = new ForeignKey();
     $fk->setForeignTableCommonName($table->getCommonName());
     $fk->setForeignSchemaName($table->getSchema());
     $fk->setDefaultJoin('LEFT JOIN');
     $fk->setOnDelete(ForeignKey::CASCADE);
     $fk->setOnUpdate(ForeignKey::NONE);
     $fk->addReference($i18nColumn->getName(), $column->getName());
     $i18nTable->addForeignKey($fk);
 }
開發者ID:dracony,項目名稱:forked-php-orm-benchmark,代碼行數:32,代碼來源:I18nBehavior.php


注:本文中的Propel\Generator\Model\ForeignKey::setDefaultJoin方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。