Class yii\db\TableSchema

Inheritanceyii\db\TableSchema » yii\base\Object
Implementsyii\base\Configurable
Subclassesyii\db\mssql\TableSchema
Available since version2.0
Source Code https://github.com/yiisoft/yii2/blob/master/framework/db/TableSchema.php

TableSchema represents the metadata of a database table.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$columnNames array List of column names yii\db\TableSchema
$columns yii\db\ColumnSchema[] Column metadata of this table. yii\db\TableSchema
$foreignKeys array Foreign keys of this table. yii\db\TableSchema
$fullName string The full name of this table, which includes the schema name prefix, if any. yii\db\TableSchema
$name string The name of this table. yii\db\TableSchema
$primaryKey string[] Primary keys of this table. yii\db\TableSchema
$schemaName string The name of the schema that this table belongs to. yii\db\TableSchema
$sequenceName string Sequence name for the primary key. yii\db\TableSchema

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\Object
__construct() Constructor. yii\base\Object
__get() Returns the value of an object property. yii\base\Object
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Object
__set() Sets value of an object property. yii\base\Object
__unset() Sets an object property to null. yii\base\Object
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Object
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Object
className() Returns the fully qualified name of this class. yii\base\Object
fixPrimaryKey() Manually specifies the primary key for this table. yii\db\TableSchema
getColumn() Gets the named column metadata. yii\db\TableSchema
getColumnNames() Returns the names of all columns in this table. yii\db\TableSchema
hasMethod() Returns a value indicating whether a method is defined. yii\base\Object
hasProperty() Returns a value indicating whether a property is defined. yii\base\Object
init() Initializes the object. yii\base\Object

Property Details

$columnNames public read-only property

List of column names

$columns public property

Column metadata of this table. Each array element is a yii\db\ColumnSchema object, indexed by column names.

$foreignKeys public property

Foreign keys of this table. Each array element is of the following structure:

[
 'ForeignTableName',
 'fk1' => 'pk1',  // pk1 is in foreign table
 'fk2' => 'pk2',  // if composite foreign key
]
public array $foreignKeys = []
$fullName public property

The full name of this table, which includes the schema name prefix, if any. Note that if the schema name is the same as the default schema name, the schema name will not be included.

public string $fullName null
$name public property

The name of this table. The schema name is not included. Use $fullName to get the name with schema name prefix.

public string $name null
$primaryKey public property

Primary keys of this table.

public string[] $primaryKey = []
$schemaName public property

The name of the schema that this table belongs to.

public string $schemaName null
$sequenceName public property

Sequence name for the primary key. Null if no sequence.

public string $sequenceName null

Method Details

fixPrimaryKey() public method

Manually specifies the primary key for this table.

public void fixPrimaryKey ( $keys )
$keys string|array

The primary key (can be composite)

throws yii\base\InvalidParamException

if the specified key cannot be found in the table.

getColumn() public method

Gets the named column metadata.

This is a convenient method for retrieving a named column even if it does not exist.

public yii\db\ColumnSchema getColumn ( $name )
$name string

Column name

return yii\db\ColumnSchema

Metadata of the named column. Null if the named column does not exist.

getColumnNames() public method

Returns the names of all columns in this table.

public array getColumnNames ( )
return array

List of column names