本文整理匯總了PHP中Phinx\Db\Table\Column::getProperties方法的典型用法代碼示例。如果您正苦於以下問題:PHP Column::getProperties方法的具體用法?PHP Column::getProperties怎麽用?PHP Column::getProperties使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Phinx\Db\Table\Column
的用法示例。
在下文中一共展示了Column::getProperties方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: 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']);
}
$properties = $column->getProperties();
$buffer[] = $column->getType() == 'filestream' ? 'FILESTREAM' : '';
$buffer[] = isset($properties['rowguidcol']) ? 'ROWGUIDCOL' : '';
$buffer[] = $column->isNull() ? 'NULL' : 'NOT NULL';
$default = $column->getDefault();
if ($create) {
if (is_numeric($default) || 'CURRENT_TIMESTAMP' === $default) {
$buffer[] = 'DEFAULT';
$buffer[] = $default;
} elseif ($default) {
$buffer[] = "DEFAULT '{$default}'";
}
}
if ($column->isIdentity()) {
$buffer[] = 'IDENTITY(1, 1)';
}
// TODO - add precision & scale for decimals
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: getProperties
/**
* Gets field properties
*
* @return array
*/
public function getProperties()
{
return $this->column->getProperties();
}