CDbSchema
包 | system.db.schema |
---|---|
继承 | abstract class CDbSchema » CComponent |
子类 | CMssqlSchema, CMysqlSchema, COciSchema, CPgsqlSchema, CSqliteSchema |
可用自 | 1.0 |
版本 | $Id$ |
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
commandBuilder | CDbCommandBuilder | the SQL command builder for this connection. | CDbSchema |
dbConnection | CDbConnection | database connection. | CDbSchema |
tableNames | array | Returns all table names in the database. | CDbSchema |
tables | array | Returns the metadata for all tables in the database. | CDbSchema |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CDbSchema |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
compareTableNames() | Compares two table names. | CDbSchema |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
getCommandBuilder() | CDbSchema | |
getDbConnection() | CDbSchema | |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getTable() | Obtains the metadata for the named table. | CDbSchema |
getTableNames() | Returns all table names in the database. | CDbSchema |
getTables() | Returns the metadata for all tables in the database. | CDbSchema |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
quoteColumnName() | Quotes a column name for use in a query. | CDbSchema |
quoteTableName() | Quotes a table name for use in a query. | CDbSchema |
raiseEvent() | Raises an event. | CComponent |
refresh() | Refreshes the schema. | CDbSchema |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
createCommandBuilder() | Creates a command builder for the database. | CDbSchema |
createTable() | Creates a table instance representing the metadata for the named table. | CDbSchema |
findTableNames() | Returns all table names in the database. | CDbSchema |
属性详情
the SQL command builder for this connection.
database connection. The connection is active.
Returns all table names in the database.
Returns the metadata for all tables in the database.
方法详情
public void __construct(CDbConnection $conn)
| ||
$conn | CDbConnection | database connection. |
Constructor.
public boolean compareTableNames(string $name1, string $name2)
| ||
$name1 | string | table name 1 |
$name2 | string | table name 2 |
{return} | boolean | whether the two table names refer to the same table. |
Compares two table names. The table names can be either quoted or unquoted. This method will consider both cases.
protected CDbCommandBuilder createCommandBuilder()
| ||
{return} | CDbCommandBuilder | command builder instance |
Creates a command builder for the database. This method may be overridden by child classes to create a DBMS-specific command builder.
abstract protected CDbTableSchema createTable($name)
| ||
$name | ||
{return} | CDbTableSchema | driver dependent table metadata, null if the table does not exist. |
Creates a table instance representing the metadata for the named table.
protected array findTableNames(string $schema='')
| ||
$schema | string | the schema of the tables. Defaults to empty string, meaning the current or default schema. If not empty, the returned table names will be prefixed with the schema name. |
{return} | array | all table names in the database. |
Returns all table names in the database. This method should be overridden by child classes in order to support this feature because the default implemenation simply throws an exception.
public CDbCommandBuilder getCommandBuilder()
| ||
{return} | CDbCommandBuilder | the SQL command builder for this connection. |
public CDbConnection getDbConnection()
| ||
{return} | CDbConnection | database connection. The connection is active. |
public CDbTableSchema getTable(string $name)
| ||
$name | string | table name |
{return} | CDbTableSchema | table metadata. Null if the named table does not exist. |
Obtains the metadata for the named table.
public array getTableNames(string $schema='')
| ||
$schema | string | the schema of the tables. Defaults to empty string, meaning the current or default schema. If not empty, the returned table names will be prefixed with the schema name. |
{return} | array | all table names in the database. |
Returns all table names in the database.
public array getTables(string $schema='')
| ||
$schema | string | the schema of the tables. Defaults to empty string, meaning the current or default schema. |
{return} | array | the metadata for all tables in the database. Each array element is an instance of CDbTableSchema (or its child class). The array keys are table names. |
Returns the metadata for all tables in the database.
public string quoteColumnName(string $name)
| ||
$name | string | column name |
{return} | string | the properly quoted column name |
Quotes a column name for use in a query.
public string quoteTableName(string $name)
| ||
$name | string | table name |
{return} | string | the properly quoted table name |
Quotes a table name for use in a query.
public void refresh()
|
Refreshes the schema. This method resets the loaded table metadata and command builder so that they can be recreated to reflect the change of schema.