Class yii\db\TableSchema

Inheritanceyii\db\TableSchema » yii\base\BaseObject
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|null 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\BaseObject
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
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\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. yii\base\BaseObject

Property Details

$columnNames public property

List of column names.

public array $columnNames null
$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|null $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\InvalidArgumentException

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|null getColumn ( $name )
$name string

Column name

return yii\db\ColumnSchema|null

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