CDbTableSchema

优质
小牛编辑
135浏览
2023-12-01
所有包 | 属性 | 方法
system.db.schema
继承class CDbTableSchema » CComponent
子类CMssqlTableSchema, CMysqlTableSchema, COciTableSchema, CPgsqlTableSchema
源自1.0
版本$Id: CDbTableSchema.php 3426 2011-10-25 00:01:09Z alexander.makarow $
源码framework/db/schema/CDbTableSchema.php
CDbTableSchema是代表数据表元数据的基类。

它可以被不同的DBMS驱动继承以提供指定DBMS的表元数据。

CDbTableSchema提供关于一个表的如下信息:
  • name
  • rawName
  • columns
  • primaryKey
  • foreignKeys
  • sequenceName

公共属性

隐藏继承属性

属性类型描述定义在
columnNamesarray列名列表。CDbTableSchema
columnsarray该表的列元数据。每个数组元素都是一个CDbColumnSchema对象,以列名为索引。CDbTableSchema
foreignKeysarray该表的外键。该数组以列名作为索引。每个值是一个外键表名和外键列名组成的数组。CDbTableSchema
namestring表名。CDbTableSchema
primaryKeystring|array该表的主键名。若为符合键,则返回键名数组。CDbTableSchema
rawNamestring该表的原始名称。这是表名的引用后的版本,带有可选schema名。它可以直接在SQL中使用。CDbTableSchema
sequenceNamestring主键的序列名。若无序列则为null。CDbTableSchema

公共方法

隐藏继承方法

方法描述定义在
__call()如果类中没有调的方法名,则调用这个方法。CComponent
__get()返回一个属性值、一个事件处理程序列表或一个行为名称。CComponent
__isset()检查一个属性是否为null。CComponent
__set()设置一个组件的属性值。CComponent
__unset()设置一个组件的属性为null。CComponent
asa()返回这个名字的行为对象。CComponent
attachBehavior()附加一个行为到组件。CComponent
attachBehaviors()附加一个行为列表到组件。CComponent
attachEventHandler()为事件附加一个事件处理程序。CComponent
canGetProperty()确定属性是否可读。CComponent
canSetProperty()确定属性是否可写。CComponent
detachBehavior()从组件中分离一个行为。CComponent
detachBehaviors()从组件中分离所有行为。CComponent
detachEventHandler()分离一个存在的事件处理程序。CComponent
disableBehavior()禁用一个附加行为。CComponent
disableBehaviors()禁用组件附加的所有行为。CComponent
enableBehavior()启用一个附加行为。CComponent
enableBehaviors()启用组件附加的所有行为。CComponent
evaluateExpression()计算一个PHP表达式,或根据组件上下文执行回调。CComponent
getColumn()获得已命名的列元数据。CDbTableSchema
getColumnNames()返回列名列表。CDbTableSchema
getEventHandlers()返回一个事件的附加处理程序列表。CComponent
hasEvent()确定一个事件是否定义。CComponent
hasEventHandler()检查事件是否有附加的处理程序。CComponent
hasProperty()确定属性是否被定义。CComponent
raiseEvent()发起一个事件。CComponent

属性详细

columnNames 属性 只读 public array getColumnNames()

列名列表。

columns 属性 public array $columns;

该表的列元数据。每个数组元素都是一个CDbColumnSchema对象,以列名为索引。

foreignKeys 属性 public array $foreignKeys;

该表的外键。该数组以列名作为索引。每个值是一个外键表名和外键列名组成的数组。

name 属性 public string $name;

表名。

primaryKey 属性 public string|array $primaryKey;

该表的主键名。若为符合键,则返回键名数组。

rawName 属性 public string $rawName;

该表的原始名称。这是表名的引用后的版本,带有可选schema名。它可以直接在SQL中使用。

sequenceName 属性 public string $sequenceName;

主键的序列名。若无序列则为null。

方法详细

getColumn() 方法
public CDbColumnSchema getColumn(string $name)
$namestring列名
{return}CDbColumnSchema命名列的元数据。若命名列不存在则返回null。
源码: framework/db/schema/CDbTableSchema.php#66 (显示) publicfunctiongetColumn($name)
{
returnisset($this->columns[$name])?$this->columns[$name]:null;
}

获得已命名的列元数据。 这是一个方便方法用于检索命名的列,即使它不存在。

getColumnNames() 方法
public array getColumnNames()
{return}array列名列表。
源码: framework/db/schema/CDbTableSchema.php#74 (显示) publicfunctiongetColumnNames()
{
returnarray_keys($this->columns);
}