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


PHP Column::setPlatformOptions方法代碼示例

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


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

示例1: _getPortableTableColumnDefinition

 /**
  * {@inheritdoc}
  */
 protected function _getPortableTableColumnDefinition($tableColumn)
 {
     $dbType = strtok($tableColumn['type'], '(), ');
     $fixed = null;
     $length = (int) $tableColumn['length'];
     $default = $tableColumn['default'];
     if (!isset($tableColumn['name'])) {
         $tableColumn['name'] = '';
     }
     while ($default != ($default2 = preg_replace("/^\\((.*)\\)\$/", '$1', $default))) {
         $default = trim($default2, "'");
         if ($default == 'getdate()') {
             $default = $this->_platform->getCurrentTimestampSQL();
         }
     }
     switch ($dbType) {
         case 'nchar':
         case 'nvarchar':
         case 'ntext':
             // Unicode data requires 2 bytes per character
             $length = $length / 2;
             break;
         case 'varchar':
             // TEXT type is returned as VARCHAR(MAX) with a length of -1
             if ($length == -1) {
                 $dbType = 'text';
             }
             break;
     }
     $type = $this->_platform->getDoctrineTypeMapping($dbType);
     switch ($type) {
         case 'char':
             $fixed = true;
             break;
         case 'text':
             $fixed = false;
             break;
     }
     $options = array('length' => $length == 0 || !in_array($type, array('text', 'string')) ? null : $length, 'unsigned' => false, 'fixed' => (bool) $fixed, 'default' => $default !== 'NULL' ? $default : null, 'notnull' => (bool) $tableColumn['notnull'], 'scale' => $tableColumn['scale'], 'precision' => $tableColumn['precision'], 'autoincrement' => (bool) $tableColumn['autoincrement']);
     $platformOptions = array('collate' => $tableColumn['collation'] == 'NULL' ? null : $tableColumn['collation']);
     $column = new Column($tableColumn['name'], Type::getType($type), $options);
     $column->setPlatformOptions($platformOptions);
     return $column;
 }
開發者ID:TuxCoffeeCorner,項目名稱:tcc,代碼行數:47,代碼來源:SQLServerSchemaManager.php


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