Класс Таблица
Представляет собой отдельную таблицу в схеме базы данных.
Может быть заполнен с использованием API рефлексии или путем поэтапного создания экземпляра с помощью методов.
После создания экземпляры Table могут быть добавлены в объекты Schema\Collection. Также их можно преобразовать в SQL с помощью методов createSql(), dropSql() и truncateSql().
Краткое описание констант
-
string'cascade' -
string'noAction' -
string'restrict' -
string'setDefault' -
string'setNull' -
string'foreign' -
string'primary' -
string'unique' -
string'fulltext' -
string'index' -
integer4294967295 -
integer16777215 -
integer255
Краткое описание свойств
- Дополнительные свойства, специфичные для типа.
array -
arrayДопустимые ключи, которые могут использоваться в определении столбца.
-
$_columnsprotectedСтолбцы в таблице.array -
$_constraintsprotectedОграничения в таблице.array -
arrayДопустимые ключи, которые могут использоваться в определении индекса.
-
$_indexesprotectedИндексы в таблице.array -
$_optionsprotectedПараметры для таблицы.array -
$_tableprotectedИмя таблицы.string -
$_temporaryprotectedЯвляется ли таблица временнойboolean -
$_typeMapprotectedКарта со столбцами и типамиarray - Названия допустимых типов ограничений.
array - Названия допустимых действий для внешних ключей.
array - Названия допустимых типов индексов.
array - Допустимая длина столбца, которая может использоваться со столбцами типа text
array
Краткое описание методов
- __construct() publicКонструктор.
- _checkForeignKey() protectedВспомогательный метод для проверки/валидации внешних ключей.
- addColumn() publicДобавить столбец в таблицу.
- addConstraint() publicДобавить ограничение.
- addConstraintSql() publicСгенерировать SQL-запросы для добавления ограничений к таблице
- addIndex() publicДобавить индекс.
- baseColumnType() public
Возвращает базовое имя типа для указанного столбца. Это соответствует типу базы данных, на котором основан более сложный класс.
- column() publicПолучить данные столбца в таблице.
- columnType() public
Устанавливает тип столбца или возвращает его текущий тип, если он не передан.
- columns() publicПолучить имена столбцов в таблице.
- constraint() publicПолучить информацию об ограничении по имени.
- constraints() publicПолучить имена всех ограничений в таблице.
- createSql() publicСгенерировать SQL для создания таблицы.
- defaultValues() publicПолучить хеш столбцов и их значений по умолчанию.
- dropConstraint() publicУдалить ограничение.
- dropConstraintSql() publicСгенерировать SQL-запросы для удаления ограничений из таблицы
- dropSql() publicСгенерировать SQL для удаления таблицы.
- hasAutoincrement() publicПроверить, определён ли в таблице столбец с автоинкрементом.
- index() publicПолучить информацию об индексе по имени.
- indexes() publicПолучить имена всех индексов в таблице.
- isNullable() publicПроверить, может ли поле принимать значение NULL
- name() publicПолучить имя таблицы.
- options() publicПолучить/установить параметры таблицы.
- primaryKey() publicПолучить столбец(ы), используемый для первичного ключа.
- temporary() publicПолучить/установить, является ли таблица временной в базе данных
- truncateSql() publicСгенерировать SQL-запросы для обнуления таблицы
- typeMap() public
Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы базы данных.
Подробное описание метода
__construct()source public
__construct( string $table , array $columns [] )
Конструктор.
Параметры
- string
$table - Имя таблицы.
- array
$columnsoptional [] - Список столбцов для схемы.
_checkForeignKey()source protected
_checkForeignKey( array $attrs )
Вспомогательный метод для проверки/валидации внешних ключей.
Параметры
- array
$attrs - Атрибуты для установки.
Возвращает
arrayВыбрасывает
Cake\Database\ExceptionПри неверном определении внешнего ключа.
addColumn()source public
addColumn( string $name , array $attrs )
Добавить столбец в таблицу.
Атрибуты
Столбцы могут иметь несколько атрибутов:
-
typeТип столбца. Должен быть одним из абстрактных типов CakePHP. -
lengthДлина столбца. -
precisionКоличество знаков после запятой для типов float и decimal. -
defaultЗначение по умолчанию для столбца. -
nullМожет ли столбец содержать null. -
fixedЯвляется ли столбец столбцом фиксированной длины. Присутствует/действителен только для столбцов типа string. -
unsignedЯвляется ли столбец беззнаковым. Присутствует/действителен только для столбцов integer, decimal, float.
В дополнение к вышеперечисленным ключам, следующие ключи реализованы в некоторых диалектах баз данных, но не во всех:
-
commentКомментарий к столбцу.
Параметры
- string
$name - Имя столбца
- array
$attrs - Атрибуты для столбца.
Возвращает
$this
addConstraint()source public
addConstraint( string $name , array $attrs )
Добавить ограничение.
Используется для добавления ограничений к таблице, например, первичных ключей, уникальных ключей и внешних ключей.
Атрибуты
-
typeТип добавляемого ограничения. -
columnsСтолбцы в индексе. -
referencesТаблица, столбец, который ссылается внешний ключ. -
updateПоведение при обновлении. Доступные варианты: 'restrict', 'setNull', 'cascade', 'noAction'. -
deleteПоведение при удалении. Доступные варианты: 'restrict', 'setNull', 'cascade', 'noAction'.
Значение по умолчанию для 'update' и 'delete' — 'cascade'.
Параметры
- string
$name - Имя ограничения.
- array
$attrs - Атрибуты для ограничения.
Возвращает
$this
Выбрасывает
Cake\Database\ExceptionaddConstraintSql()source public
addConstraintSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL-запросы для добавления ограничений к таблице
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
arraySQL для удаления таблицы.
addIndex()source public
addIndex( string $name , array $attrs )
Добавить индекс.
Используется для добавления индексов и полнотекстовых индексов в платформах, которые их поддерживают.
Атрибуты
-
typeТип добавляемого индекса. -
columnsСтолбцы в индексе.
Параметры
- string
$name - Имя индекса.
- array
$attrs - Атрибуты для индекса.
Возвращает
$this
Выбрасывает
Cake\Database\ExceptionbaseColumnType()source public
baseColumnType( string $column )
Возвращает базовое имя типа для указанного столбца. Это соответствует типу базы данных, на котором основан более сложный класс.
Параметры
- string
$column - Имя столбца, для которого необходимо получить базовое имя типа
Возвращает
stringБазовое имя типа
column()source public
column( string $name )
Получить данные столбца в таблице.
Параметры
- string
$name - Имя столбца.
Возвращает
array|nullДанные столбца или null.
columnType()source public
columnType( string $name , string|null $type null )
Устанавливает тип столбца или возвращает его текущий тип, если он не передан.
Параметры
- string
$name - Столбец, для которого нужно получить тип.
- string|null
$typeoptional null - Тип, на который нужно установить столбец.
Возвращает
string|nullТип столбца или null.
constraint()source public
constraint( string $name )
Получить информацию о ограничении по имени.
Параметры
- string
$name - Имя ограничения.
Возвращает
array|nullДанные ограничения, или null
constraints()source public
constraints( )
Получить имена всех ограничений в таблице.
Возвращает
arraycreateSql()source public
createSql( Cake\Datasource\ConnectionInterface $connection )
Генерировать SQL для создания таблицы.
Использует соединение для доступа к диалекту схемы для генерации платформоспецифического SQL.
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
arrayСписок SQL-запросов для создания таблицы и необходимых индексов.
defaultValues()source public
defaultValues( )
Получить хеш столбцов и их значений по умолчанию.
Возвращает
arraydropConstraint()source public
dropConstraint( string $name )
Удалить ограничение.
Параметры
- string
$name - Имя ограничения для удаления
dropConstraintSql()source public
dropConstraintSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL-запросы для удаления ограничений из таблицы
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
arraySQL для удаления таблицы.
dropSql()source public
dropSql( Cake\Datasource\ConnectionInterface $connection )
Генерировать SQL для удаления таблицы.
Использует соединение для доступа к диалекту схемы для генерации платформоспецифического SQL.
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
arraySQL для удаления таблицы.
hasAutoincrement()source public
hasAutoincrement( )
Проверить, есть ли в таблице столбец с автоинкрементом.
Возвращает
booleanindex()source public
index( string $name )
Получить информацию об индексе по имени.
Параметры
- string
$name - Имя индекса.
Возвращает
array|nullДанные индекса или null
isNullable()source public
isNullable( string $name )
Проверить, является ли поле допустимым для null
Отсутствующие столбцы считаются допустимыми для null.
Параметры
- string
$name - Столбец, для которого нужно получить тип.
Возвращает
booleanВозможно ли значение null для поля.
options()source public
options( array|null $options null )
Получить/установить параметры таблицы.
Параметры таблицы позволяют задавать платформоспецифические параметры уровня таблицы. Например, тип движка в MySQL.
Параметры
- array|null
$optionsoptional null - Параметры для установки или null для чтения параметров.
Возвращает
$this|array Экземпляр таблицы или массив параметров при чтении.
primaryKey()source public
primaryKey( )
Получить имя(а) столбца(ов), используемого(ых) в качестве первичного ключа.
Возвращает
arrayИмя(а) столбца(ов) первичного ключа. При отсутствии первичного ключа возвращается пустой массив.
temporary()source public
temporary( boolean|null $set null )
Получить/установить, является ли таблица временной в базе данных.
Параметры
- boolean|null
$setoptional null - Является ли таблица временной.
Возвращает
$this|bool Экземпляр таблицы или текущее значение временного статуса.
truncateSql()source public
truncateSql( Cake\Datasource\ConnectionInterface $connection )
Генерировать SQL-запросы для обнуления таблицы
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
arraySQL для обнуления таблицы.
typeMap()source public
typeMap( )
Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы базы данных.
Возвращает
arrayПодробности свойств
$_columnExtrassource
protected static array
Дополнительные свойства, специфичные для типа.
[
'string' => [
'fixed' => null,
'collate' => null,
],
'text' => [
'collate' => null,
],
'integer' => [
'unsigned' => null,
'autoIncrement' => null,
],
'biginteger' => [
'unsigned' => null,
'autoIncrement' => null,
],
'decimal' => [
'unsigned' => null,
],
'float' => [
'unsigned' => null,
],
] $_columnKeyssource
protected static array
Допустимые ключи, которые могут использоваться в определении столбца.
[
'type' => null,
'baseType' => null,
'length' => null,
'precision' => null,
'null' => null,
'default' => null,
'comment' => null,
] $_indexKeyssource
protected static массив
Допустимые ключи, которые могут быть использованы в определении индекса.
[
'type' => null,
'columns' => [],
'length' => [],
'references' => [],
'update' => 'restrict',
'delete' => 'restrict',
] $_validConstraintTypessource
protected static массив
Имена допустимых типов ограничений.
[
self::CONSTRAINT_PRIMARY,
self::CONSTRAINT_UNIQUE,
self::CONSTRAINT_FOREIGN,
] $_validForeignKeyActionssource
protected static массив
Имена допустимых действий для внешних ключей.
[
self::ACTION_CASCADE,
self::ACTION_SET_NULL,
self::ACTION_SET_DEFAULT,
self::ACTION_NO_ACTION,
self::ACTION_RESTRICT,
] $_validIndexTypessource
protected static массив
Имена допустимых типов индексов.
[
self::INDEX_INDEX,
self::INDEX_FULLTEXT,
] $columnLengthssource
public static массив
Допустимые длины столбцов, которые могут быть использованы со столбцами типа text
[
'tiny' => self::LENGTH_TINY,
'medium' => self::LENGTH_MEDIUM,
'long' => self::LENGTH_LONG
]
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.2/class-Cake.Database.Schema.Table.html