本文整理汇总了PHP中Phinx\Db\Table\Column::getScale方法的典型用法代码示例。如果您正苦于以下问题:PHP Column::getScale方法的具体用法?PHP Column::getScale怎么用?PHP Column::getScale使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phinx\Db\Table\Column
的用法示例。
在下文中一共展示了Column::getScale方法的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);
}
示例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);
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例7: getScale
/**
* Gets the column scale for decimal.
*
* @return integer
*/
public function getScale()
{
return $this->column->getScale();
}