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


PHP Table::indexes方法代碼示例

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


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

示例1: _generateSchema

 /**
  * Generates a string representation of a schema.
  *
  * @param \Cake\Database\Schema\Table $table Table schema
  * @return string fields definitions
  */
 protected function _generateSchema(Table $table)
 {
     $cols = $indexes = $constraints = [];
     foreach ($table->columns() as $field) {
         $fieldData = $table->column($field);
         $properties = implode(', ', $this->_values($fieldData));
         $cols[] = "        '{$field}' => [{$properties}],";
     }
     foreach ($table->indexes() as $index) {
         $fieldData = $table->index($index);
         $properties = implode(', ', $this->_values($fieldData));
         $indexes[] = "            '{$index}' => [{$properties}],";
     }
     foreach ($table->constraints() as $index) {
         $fieldData = $table->constraint($index);
         $properties = implode(', ', $this->_values($fieldData));
         $constraints[] = "            '{$index}' => [{$properties}],";
     }
     $options = $this->_values($table->options());
     $content = implode("\n", $cols) . "\n";
     if (!empty($indexes)) {
         $content .= "        '_indexes' => [\n" . implode("\n", $indexes) . "\n        ],\n";
     }
     if (!empty($constraints)) {
         $content .= "        '_constraints' => [\n" . implode("\n", $constraints) . "\n        ],\n";
     }
     if (!empty($options)) {
         foreach ($options as &$option) {
             $option = '            ' . $option;
         }
         $content .= "        '_options' => [\n" . implode(",\n", $options) . "\n        ],\n";
     }
     return "[\n{$content}    ]";
 }
開發者ID:AmuseXperience,項目名稱:api,代碼行數:40,代碼來源:FixtureTask.php

示例2: testAddIndexTypes

 /**
  * Test adding different kinds of indexes.
  *
  * @return void
  */
 public function testAddIndexTypes()
 {
     $table = new Table('articles');
     $table->addColumn('id', 'integer')->addColumn('title', 'string')->addColumn('author_id', 'integer');
     $table->addIndex('author_idx', ['columns' => ['author_id'], 'type' => 'index'])->addIndex('texty', ['type' => 'fulltext', 'columns' => ['title']]);
     $this->assertEquals(['author_idx', 'texty'], $table->indexes());
 }
開發者ID:neilan35,項目名稱:betterwindow1,代碼行數:12,代碼來源:TableTest.php


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