Class yii\db\ColumnSchemaBuilder

继承yii\db\ColumnSchemaBuilder » yii\base\BaseObject
实现yii\base\Configurable
子类yii\db\cubrid\ColumnSchemaBuilder, yii\db\mysql\ColumnSchemaBuilder, yii\db\oci\ColumnSchemaBuilder, yii\db\sqlite\ColumnSchemaBuilder
可用自版本2.0.6
源代码 https://github.com/yiisoft/yii2/blob/master/framework/db/ColumnSchemaBuilder.php

ColumnSchemaBuilder 帮助使用 PHP 接口定义数据模式类型.

有关更多详细说明和用法示例, 请参阅 yii\db\SchemaBuilderTrait.

公共属性

隐藏继承的属性

属性类型描述定义在
$categoryMap array 抽象列类型(键)到类型类别(值)的映射. yii\db\ColumnSchemaBuilder
$comment string 列的注释值. yii\db\ColumnSchemaBuilder
$db yii\db\Connection 当前的数据库连接. yii\db\ColumnSchemaBuilder

受保护的属性

隐藏继承的属性

属性类型描述定义在
$after string 此列之后将添加的列. yii\db\ColumnSchemaBuilder
$append mixed 要附加到列模式定义的 SQL 字符串. yii\db\ColumnSchemaBuilder
$check string 列的CHECK约束. yii\db\ColumnSchemaBuilder
$default mixed 列的默认值. yii\db\ColumnSchemaBuilder
$isFirst boolean 是否将此列插入到表的开头. yii\db\ColumnSchemaBuilder
$isNotNull boolean|null 该列是否可为空. yii\db\ColumnSchemaBuilder
$isUnique boolean 列值是否应唯一. yii\db\ColumnSchemaBuilder
$isUnsigned boolean 列值是否应为无符号. yii\db\ColumnSchemaBuilder
$length integer|string|array 列大小或精度定义. yii\db\ColumnSchemaBuilder
$type string 列类型的定义, 例如 INTEGER, VARCHAR, DATETIME 等. yii\db\ColumnSchemaBuilder

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的已命名方法. yii\base\BaseObject
__construct() 创建提供类型和值精度的列模式构建器实例. yii\db\ColumnSchemaBuilder
__get() 返回对象属性的值. yii\base\BaseObject
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\BaseObject
__set() 设置对象属性的值. yii\base\BaseObject
__toString() 构建列模式的完整字符串. yii\db\ColumnSchemaBuilder
__unset() 将对象属性设置为null. yii\base\BaseObject
after() 在列中添加AFTER约束. yii\db\ColumnSchemaBuilder
append() 指定要附加到列定义的其它 SQL. yii\db\ColumnSchemaBuilder
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
check() 为列设置CHECK约束. yii\db\ColumnSchemaBuilder
className() 返回此类的完全限定名称. yii\base\BaseObject
comment() 指定列的注释. yii\db\ColumnSchemaBuilder
defaultExpression() 指定列的默认 SQL 表达式. yii\db\ColumnSchemaBuilder
defaultValue() 指定列的默认值. yii\db\ColumnSchemaBuilder
first() 向该列添加FIRST约束. yii\db\ColumnSchemaBuilder
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\base\BaseObject
notNull() 向该列添加NOT NULL约束. yii\db\ColumnSchemaBuilder
null() 向该列添加NULL约束. yii\db\ColumnSchemaBuilder
unique() 向该列添加UNIQUE约束. yii\db\ColumnSchemaBuilder
unsigned() 将列标记为无符号. yii\db\ColumnSchemaBuilder

受保护的方法

隐藏继承的方法

方法描述定义在
buildAfterString() 为列建立 AFTER 约束. 默认为不支持. yii\db\ColumnSchemaBuilder
buildAppendString() 构建附加到列定义的自定义字符串. yii\db\ColumnSchemaBuilder
buildCheckString() 构建列的 CHECK 约束. yii\db\ColumnSchemaBuilder
buildCommentString() 构建该列的注释规范. yii\db\ColumnSchemaBuilder
buildCompleteString() 从输入格式返回完整的列定义. yii\db\ColumnSchemaBuilder
buildDefaultString() 构建列的默认值规范. yii\db\ColumnSchemaBuilder
buildFirstString() 为列建立 FIRST 约束. 默认为不支持. yii\db\ColumnSchemaBuilder
buildLengthString() 构建列的长度/精度部分. yii\db\ColumnSchemaBuilder
buildNotNullString() 为列构建 NOT NULL 约束. yii\db\ColumnSchemaBuilder
buildUniqueString() 为列建立 UNIQUE 约束. yii\db\ColumnSchemaBuilder
buildUnsignedString() 构建列的无符号字符串. 默认为不支持. yii\db\ColumnSchemaBuilder
getTypeCategory() 返回列类型的类别. yii\db\ColumnSchemaBuilder

常量

隐藏继承的常量

常量描述定义在
CATEGORY_NUMERIC 'numeric' yii\db\ColumnSchemaBuilder
CATEGORY_OTHER 'other' yii\db\ColumnSchemaBuilder
CATEGORY_PK 'pk' yii\db\ColumnSchemaBuilder
CATEGORY_STRING 'string' yii\db\ColumnSchemaBuilder
CATEGORY_TIME 'time' yii\db\ColumnSchemaBuilder

属性详情

$after protected 属性 (可用自版本: 2.0.8)

此列之后将添加的列.

protected string $after null
$append protected 属性 (可用自版本: 2.0.9)

要附加到列模式定义的 SQL 字符串.

protected mixed $append null
$categoryMap public 属性 (可用自版本: 2.0.8)

抽象列类型(键)到类型类别(值)的映射.

public array $categoryMap = [\yii\db\Schema::TYPE_PK => self::CATEGORY_PK, \yii\db\Schema::TYPE_UPK => self::CATEGORY_PK, \yii\db\Schema::TYPE_BIGPK => self::CATEGORY_PK, \yii\db\Schema::TYPE_UBIGPK => self::CATEGORY_PK, \yii\db\Schema::TYPE_CHAR => self::CATEGORY_STRING, \yii\db\Schema::TYPE_STRING => self::CATEGORY_STRING, \yii\db\Schema::TYPE_TEXT => self::CATEGORY_STRING, \yii\db\Schema::TYPE_TINYINT => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_SMALLINT => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_INTEGER => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_BIGINT => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_FLOAT => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_DOUBLE => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_DECIMAL => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_DATETIME => self::CATEGORY_TIME, \yii\db\Schema::TYPE_TIMESTAMP => self::CATEGORY_TIME, \yii\db\Schema::TYPE_TIME => self::CATEGORY_TIME, \yii\db\Schema::TYPE_DATE => self::CATEGORY_TIME, \yii\db\Schema::TYPE_BINARY => self::CATEGORY_OTHER, \yii\db\Schema::TYPE_BOOLEAN => self::CATEGORY_NUMERIC, \yii\db\Schema::TYPE_MONEY => self::CATEGORY_NUMERIC]
$check protected 属性

列的CHECK约束.

protected string $check null
$comment public 属性 (可用自版本: 2.0.8)

列的注释值.

public string $comment null
$db public 属性 (可用自版本: 2.0.8)

当前的数据库连接. 在构建最终的列架构字符串时, 它主要用于安全的转义字符串.

public yii\db\Connection $db null
$default protected 属性

列的默认值.

protected mixed $default null
$isFirst protected 属性 (可用自版本: 2.0.8)

是否将此列插入到表的开头.

protected boolean $isFirst null
$isNotNull protected 属性

该列是否可为空. 如果为true, 则将添加NOT NULL约束. 如果为false, 则添加NULL约束.

protected boolean|null $isNotNull null
$isUnique protected 属性

列值是否应唯一. 如果为true, 则将添加UNIQUE约束.

protected boolean $isUnique false
$isUnsigned protected 属性 (可用自版本: 2.0.7)

列值是否应为无符号. 如果为true, 则将添加关键字UNSIGNED.

protected boolean $isUnsigned false
$length protected 属性

列大小或精度定义. 这是列类型后面的括号中的内容. 它可以是字符串, 整数或数组. 如果是数组, 则数组值将连接成一个字符串, 并以逗号分隔.

protected integer|string|array $length null
$type protected 属性

列类型的定义, 例如 INTEGER, VARCHAR, DATETIME 等.

protected string $type null

方法详情

__construct() public 方法

创建提供类型和值精度的列模式构建器实例.

public void __construct ( $type, $length null, $db null, $config = [] )
$type string

列的类型. 详见 $type.

$length integer|string|array

列的长度或精度. 详见 $length.

$db yii\db\Connection

当前的数据库连接. 详见 $db.

$config array

将用于初始化对象属性的 name-value 对.

__toString() public 方法

构建列模式的完整字符串.

public string __toString ( )
after() public 方法 (可用自版本: 2.0.8)

在列中添加AFTER约束.

Note: 仅 MySQL, Oracle 和 Cubrid 支持.

public $this after ( $after )
$after string

该列之间将添加 $this 列.

append() public 方法 (可用自版本: 2.0.9)

指定要附加到列定义的其它 SQL.

位置修饰符将添加到支付它们的数据库中的列定义之后.

public $this append ( $sql )
$sql string

要附加的 SQL 字符串.

buildAfterString() protected 方法 (可用自版本: 2.0.8)

为列建立 AFTER 约束. 默认为不支持.

protected string buildAfterString ( )
return string

包含 AFTER 约束的字符串.

buildAppendString() protected 方法 (可用自版本: 2.0.9)

构建附加到列定义的自定义字符串.

protected string buildAppendString ( )
return string

要附加的字符与字符串.

buildCheckString() protected 方法

构建列的 CHECK 约束.

protected string buildCheckString ( )
return string

包含 CHECK 约束的字符串.

buildCommentString() protected 方法 (可用自版本: 2.0.8)

构建该列的注释规范.

protected string buildCommentString ( )
return string

包含 COMMENT 关键字和注释本身的字符串.

buildCompleteString() protected 方法 (可用自版本: 2.0.8)

从输入格式返回完整的列定义.

protected string buildCompleteString ( $format )
$format string

定义的格式.

return string

包含完整列定义的字符串.

buildDefaultString() protected 方法

构建列的默认值规范.

protected string buildDefaultString ( )
return string

具有列的默认值的字符串.

buildFirstString() protected 方法 (可用自版本: 2.0.8)

为列建立 FIRST 约束. 默认为不支持.

protected string buildFirstString ( )
return string

包含 FIRST 约束的字符串.

buildLengthString() protected 方法

构建列的长度/精度部分.

protected string buildLengthString ( )
buildNotNullString() protected 方法

为列构建 NOT NULL 约束.

protected string buildNotNullString ( )
return string

如果 $isNotNulltrue, 则返回字符串NOT NULL; 如果 $isNotNullfalse, 则返回字符串NULL; 否则返回空字符串.

buildUniqueString() protected 方法

为列建立 UNIQUE 约束.

protected string buildUniqueString ( )
return string

如果 $isUniquetrue, 则返回字符串UNIQUE; 否则返回空字符串.

buildUnsignedString() protected 方法 (可用自版本: 2.0.7)

构建列的无符号字符串. 默认为不支持.

protected string buildUnsignedString ( )
return string

包含 UNSIGNED 关键字的字符串.

check() public 方法

为列设置CHECK约束.

public $this check ( $check )
$check string

要添加的CHECK约束的 SQL.

comment() public 方法 (可用自版本: 2.0.8)

指定列的注释.

public $this comment ( $comment )
$comment string

注释.

defaultExpression() public 方法 (可用自版本: 2.0.7)

指定列的默认 SQL 表达式.

public $this defaultExpression ( $default )
$default string

默认值表达式.

defaultValue() public 方法

指定列的默认值.

public $this defaultValue ( $default )
$default mixed

默认值.

first() public 方法 (可用自版本: 2.0.8)

向该列添加FIRST约束.

Note: 仅 MySQL, Oracle 和 Cubrid 支持.

public $this first ( )
getTypeCategory() protected 方法 (可用自版本: 2.0.8)

返回列类型的类别.

protected string getTypeCategory ( )
return string

一个包含列类型类别名称的字符串.

notNull() public 方法

向该列添加NOT NULL约束.

public $this notNull ( )
null() public 方法 (可用自版本: 2.0.9)

向该列添加NULL约束.

public $this null ( )
unique() public 方法

向该列添加UNIQUE约束.

public $this unique ( )
unsigned() public 方法 (可用自版本: 2.0.7)

将列标记为无符号.

public $this unsigned ( )