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


PHP Column::getPrecision方法代码示例

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


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

示例1: getColumnSqlDefinition

 /**
  * Gets the PostgreSQL Column Definition for a Column object.
  *
  * @param Column $column Column
  * @return string
  */
 protected function getColumnSqlDefinition(Column $column)
 {
     $buffer = array();
     if ($column->isIdentity()) {
         $buffer[] = 'SERIAL';
     } else {
         $sqlType = $this->getSqlType($column->getType(), $column->getLimit());
         $buffer[] = strtoupper($sqlType['name']);
         // integers cant have limits in postgres
         if (static::PHINX_TYPE_DECIMAL === $sqlType['name'] && ($column->getPrecision() || $column->getScale())) {
             $buffer[] = sprintf('(%s, %s)', $column->getPrecision() ? $column->getPrecision() : $sqlType['precision'], $column->getScale() ? $column->getScale() : $sqlType['scale']);
         } elseif (!in_array($sqlType['name'], array('integer', 'smallint'))) {
             if ($column->getLimit() || isset($sqlType['limit'])) {
                 $buffer[] = sprintf('(%s)', $column->getLimit() ? $column->getLimit() : $sqlType['limit']);
             }
         }
         $timeTypes = array('time', 'timestamp');
         if (in_array($sqlType['name'], $timeTypes) && $column->isTimezone()) {
             $buffer[] = strtoupper('with time zone');
         }
     }
     $buffer[] = $column->isNull() ? 'NULL' : 'NOT NULL';
     if (!is_null($column->getDefault())) {
         $buffer[] = $this->getDefaultValueDefinition($column->getDefault());
     }
     return implode(' ', $buffer);
 }
开发者ID:jaambageek,项目名称:cakeboot-template,代码行数:33,代码来源:PostgresAdapter.php

示例2: getColumnSqlDefinition

 /**
  * Gets the SqlServer Column Definition for a Column object.
  *
  * @param Column $column Column
  * @return string
  */
 protected function getColumnSqlDefinition(Column $column, $create = true)
 {
     $buffer = array();
     $sqlType = $this->getSqlType($column->getType());
     $buffer[] = strtoupper($sqlType['name']);
     // integers cant have limits in SQlServer
     $noLimits = array('bigint', 'int', 'tinyint');
     if (!in_array($sqlType['name'], $noLimits) && ($column->getLimit() || isset($sqlType['limit']))) {
         $buffer[] = sprintf('(%s)', $column->getLimit() ? $column->getLimit() : $sqlType['limit']);
     }
     if ($column->getPrecision() && $column->getScale()) {
         $buffer[] = '(' . $column->getPrecision() . ',' . $column->getScale() . ')';
     }
     $properties = $column->getProperties();
     $buffer[] = $column->getType() === 'filestream' ? 'FILESTREAM' : '';
     $buffer[] = isset($properties['rowguidcol']) ? 'ROWGUIDCOL' : '';
     $buffer[] = $column->isNull() ? 'NULL' : 'NOT NULL';
     if ($create === true) {
         if ($column->getDefault() === null && $column->isNull()) {
             $buffer[] = ' DEFAULT NULL';
         } else {
             $buffer[] = $this->getDefaultValueDefinition($column->getDefault());
         }
     }
     if ($column->isIdentity()) {
         $buffer[] = 'IDENTITY(1, 1)';
     }
     return implode(' ', $buffer);
 }
开发者ID:lhas,项目名称:pep,代码行数:35,代码来源:SqlServerAdapter.php

示例3: getColumnSqlDefinition

 /**
  * Gets the MySQL Column Definition for a Column object.
  *
  * @param Column $column Column
  * @return string
  */
 protected function getColumnSqlDefinition(Column $column)
 {
     $sqlType = $this->getSqlType($column->getType(), $column->getLimit());
     $def = '';
     $def .= strtoupper($sqlType['name']);
     if ($column->getPrecision() && $column->getScale()) {
         $def .= '(' . $column->getPrecision() . ',' . $column->getScale() . ')';
     } elseif (isset($sqlType['limit'])) {
         $def .= '(' . $sqlType['limit'] . ')';
     }
     if (($values = $column->getValues()) && is_array($values)) {
         $def .= "('" . implode("', '", $values) . "')";
     }
     $def .= !$column->isSigned() && isset($this->signedColumnTypes[$column->getType()]) ? ' unsigned' : '';
     $def .= !$column->isZerofill() && isset($this->zerofillColumnTypes[$column->getType()]) ? ' zerofill' : '';
     $def .= $column->isNull() == false ? ' NOT NULL' : ' NULL';
     $def .= $column->isIdentity() ? ' AUTO_INCREMENT' : '';
     $def .= $this->getDefaultValueDefinition($column->getDefault());
     if ($column->getComment()) {
         $def .= ' COMMENT ' . $this->getConnection()->quote($column->getComment());
     }
     if ($column->getUpdate()) {
         $def .= ' ON UPDATE ' . $column->getUpdate();
     }
     return $def;
 }
开发者ID:parkerj,项目名称:eduTrac-SIS,代码行数:32,代码来源:MysqlAdapter.php

示例4: getColumnSqlDefinition

 /**
  * Gets the MySQL Column Definition for a Column object.
  *
  * @param Column $column Column
  * @return string
  */
 protected function getColumnSqlDefinition(Column $column)
 {
     $sqlType = $this->getSqlType($column->getType());
     $def = '';
     $def .= strtoupper($sqlType['name']);
     if ($column->getPrecision() && $column->getScale()) {
         $def .= '(' . $column->getPrecision() . ',' . $column->getScale() . ')';
     }
     $def .= $column->getLimit() || isset($sqlType['limit']) ? '(' . ($column->getLimit() ? $column->getLimit() : $sqlType['limit']) . ')' : '';
     $def .= !$column->isSigned() && isset($this->signedColumnTypes[$column->getType()]) ? ' unsigned' : '';
     $def .= $column->isNull() == false ? ' NOT NULL' : ' NULL';
     $def .= $column->isIdentity() ? ' AUTO_INCREMENT' : '';
     $default = $column->getDefault();
     if (is_numeric($default) || $default == 'CURRENT_TIMESTAMP') {
         $def .= ' DEFAULT ' . $column->getDefault();
     } else {
         $def .= is_null($column->getDefault()) ? '' : ' DEFAULT \'' . $column->getDefault() . '\'';
     }
     if ($column->getComment()) {
         $def .= ' COMMENT ' . $this->getConnection()->quote($column->getComment());
     }
     if ($column->getUpdate()) {
         $def .= ' ON UPDATE ' . $column->getUpdate();
     }
     return $def;
 }
开发者ID:alprs,项目名称:phinx,代码行数:32,代码来源:MysqlAdapter.php

示例5: getColumnSqlDefinition

 /**
  * Gets the SQLite Column Definition for a Column object.
  *
  * @param Column $column Column
  * @return string
  */
 protected function getColumnSqlDefinition(Column $column)
 {
     $sqlType = $this->getSqlType($column->getType());
     $def = '';
     $def .= strtoupper($sqlType['name']);
     if ($column->getPrecision() && $column->getScale()) {
         $def .= '(' . $column->getPrecision() . ',' . $column->getScale() . ')';
     }
     $limitable = in_array(strtoupper($sqlType['name']), $this->definitionsWithLimits);
     if (($column->getLimit() || isset($sqlType['limit'])) && $limitable) {
         $def .= '(' . ($column->getLimit() ? $column->getLimit() : $sqlType['limit']) . ')';
     }
     $default = $column->getDefault();
     $def .= $column->isNull() || is_null($default) ? ' NULL' : ' NOT NULL';
     $def .= $this->getDefaultValueDefinition($default);
     $def .= $column->isIdentity() ? ' PRIMARY KEY AUTOINCREMENT' : '';
     if ($column->getUpdate()) {
         $def .= ' ON UPDATE ' . $column->getUpdate();
     }
     $def .= $this->getCommentDefinition($column);
     return $def;
 }
开发者ID:elliotwms,项目名称:phinx,代码行数:28,代码来源:SQLiteAdapter.php

示例6: getColumnSqlDefinition

 /**
  * Gets the SQLite Column Definition for a Column object.
  *
  * @param Column $column Column
  * @return string
  */
 protected function getColumnSqlDefinition(Column $column)
 {
     $sqlType = $this->getSqlType($column->getType());
     $def = '';
     $def .= strtoupper($sqlType['name']);
     if ($column->getPrecision() && $column->getScale()) {
         $def .= '(' . $column->getPrecision() . ',' . $column->getScale() . ')';
     }
     $limitable = in_array(strtoupper($sqlType['name']), $this->definitionsWithLimits);
     if (($column->getLimit() || isset($sqlType['limit'])) && $limitable) {
         $def .= '(' . ($column->getLimit() ? $column->getLimit() : $sqlType['limit']) . ')';
     }
     $default = $column->getDefault();
     $def .= $column->isNull() || is_null($default) ? ' NULL' : ' NOT NULL';
     if (is_numeric($default) || $default == 'CURRENT_TIMESTAMP') {
         $def .= ' DEFAULT ' . $column->getDefault();
     } else {
         if (!is_null($default)) {
             $def .= ' DEFAULT ' . $column->getDefault();
         }
     }
     if ($column->getUpdate()) {
         $def .= ' ON UPDATE ' . $column->getUpdate();
     }
     $def .= $this->getCommentDefinition($column);
     return $def;
 }
开发者ID:askzap,项目名称:ultimate,代码行数:33,代码来源:SQLiteAdapter.php

示例7: getPrecision

 /**
  * Gets the column precision for decimal.
  *
  * @return integer
  */
 public function getPrecision()
 {
     return $this->column->getPrecision();
 }
开发者ID:nilopc-interesting-libs,项目名称:sql-schema-builder,代码行数:9,代码来源:Column.php


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