Класс Таблица
Представляет собой отдельную таблицу в схеме базы данных.
Может быть заполнен с помощью 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Проверить, определен ли в таблице столбец autoIncrement.
- index() publicСчитать информацию об индексе по имени.
- indexes() publicПолучить имена всех индексов в таблице.
- isNullable() publicПроверить, является ли поле необязательным
- name() publicПолучить имя таблицы.
- options() publicПолучить/установить параметры таблицы.
- primaryKey() publicПолучить столбец(ы), используемый для первичного ключа.
- temporary() publicПолучить/установить, является ли таблица временной в базе данных
- truncateSql() publicСгенерировать SQL-запросы для усечения таблицы
- typeMap() public
Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы базы данных, которые они имеют.
Подробное описание методов
__construct()source public
__construct( string $table , array $columns [] )
Конструктор.
Параметры
- строка
$table - Имя таблицы.
- массив
$columnsнеобязательно [] - Список столбцов для схемы.
_checkForeignKey()source protected
_checkForeignKey( array $attrs )
Вспомогательный метод для проверки/валидации внешних ключей.
Параметры
- массив
$attrs - Атрибуты для установки.
Возвращает
массивИсключения
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Комментарий к столбцу.
Параметры
- строка
$name - Имя столбца
- массив
$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'.
Параметры
- строка
$name - Имя ограничения.
- массив
$attrs - Атрибуты для ограничения.
Возвращает
$this
Исключения
Cake\Database\ExceptionaddConstraintSql()source public
addConstraintSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL-запросы для добавления ограничений к таблице
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Подключение для генерации SQL.
Возвращает
массивSQL для удаления таблицы.
addIndex()source public
addIndex( string $name , array $attrs )
Добавить индекс.
Используется для добавления индексов и полных текстовых индексов в платформах, которые их поддерживают.
Атрибуты
-
typeТип добавляемого индекса. -
columnsСтолбцы в индексе.
Параметры
- строка
$name - Имя индекса.
- массив
$attrs - Атрибуты для индекса.
Возвращает
$this
Исключения
Cake\Database\ExceptionbaseColumnType()source public
baseColumnType( string $column )
Возвращает имя базового типа для указанного столбца. Это представляет тип базы данных, на котором основан более сложный класс.
Параметры
- строка
$column - Имя столбца, для которого нужно получить базовый тип
Возвращает
строкаИмя базового типа
column()source public
column( string $name )
Получить данные столбца в таблице.
Параметры
- строка
$name - Имя столбца.
Возвращает
массив|nullДанные столбца или null.
columnType()source public
columnType( string $name , string|null $type null )
Устанавливает тип столбца или возвращает текущий тип, если он не передан.
Параметры
- строка
$name - Столбец, для которого нужно получить тип.
- строка|null
$typeопционально null - Тип, которому нужно установить столбец.
Возвращает
строка|nullТип столбца или null.
constraint()source public
constraint( string $name )
Получить информацию о ограничении на основе имени.
Параметры
- строка
$name - Имя ограничения.
Возвращает
массив|nullМассив данных о ограничении или null
constraints()source public
constraints( )
Получить имена всех ограничений в таблице.
Возвращает
массивcreateSql()source public
createSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL для создания таблицы.
Использует соединение для доступа к диалекту схемы, чтобы сгенерировать платформозависимый SQL.
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL
Возвращает
массивСписок SQL-команд для создания таблицы и необходимых индексов.
defaultValues()source public
defaultValues( )
Получить хэш столбцов и их значений по умолчанию.
Возвращает
массивdropConstraint()source public
dropConstraint( string $name )
Удалить ограничение.
Параметры
- строка
$name - Имя ограничения для удаления
dropConstraintSql()source public
dropConstraintSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL-команды для удаления ограничений в таблице
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
массивSQL для удаления таблицы.
dropSql()source public
dropSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL для удаления таблицы.
Использует соединение для доступа к диалекту схемы, чтобы сгенерировать платформозависимый SQL.
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
массивSQL для удаления таблицы.
hasAutoincrement()source public
hasAutoincrement( )
Проверить, определен ли столбец с автоинкрементом в таблице.
Возвращает
логическое значениеindex()source public
index( string $name )
Получить информацию об индексе по имени.
Параметры
- строка
$name - Имя индекса.
Возвращает
массив|nullМассив данных об индексе или null
isNullable()source public
isNullable( string $name )
Проверить, является ли поле допускающим null
Пропущенные столбцы допускают null.
Параметры
- строка
$name - Столбец, для которого нужно получить тип.
Возвращает
логическое значениеДопускает ли поле null.
options()source public
options( array|null $options null )
Получить/установить параметры таблицы.
Параметры таблицы позволяют установить платформозависимые параметры уровня таблицы. Например, тип движка в MySQL.
Параметры
- массив|null
$optionsопционально null - Параметры для установки или null для чтения параметров.
Возвращает
$this|массив Либо экземпляр таблицы, либо массив параметров при чтении.
primaryKey()source public
primaryKey( )
Получить столбец(ы), используемый для первичного ключа.
Возвращает
массивИмя(на) столбца(ов) первичного ключа. Если в таблице нет первичного ключа, будет возвращён пустой список.
temporary()source public
temporary( boolean|null $set null )
Получить/установить, является ли таблица временной в базе данных
Параметры
- логическое значение|null
$setопционально null - является ли таблица временной
Возвращает
$this|логическое значение Либо экземпляр таблицы, либо текущее значение временной таблицы
truncateSql()source public
truncateSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL-команды для обнуления таблицы
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
массивSQL для обнуления таблицы.
typeMap()source public
typeMap( )
Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы базы данных.
Возвращает
массивПодробности свойств
$_columnExtrassource
protected static массив
Дополнительные свойства, специфичные для типа.
[
'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 массив
Допустимые ключи, которые можно использовать в определении столбца.
[
'type' => null,
'baseType' => null,
'length' => null,
'precision' => null,
'null' => null,
'default' => null,
'comment' => null,
] $_indexKeyssource
protected static array
Допустимые ключи, которые могут быть использованы в определении индекса.
[
'type' => null,
'columns' => [],
'length' => [],
'references' => [],
'update' => 'restrict',
'delete' => 'restrict',
] $_validConstraintTypessource
protected static array
Имена допустимых типов ограничений.
[
self::CONSTRAINT_PRIMARY,
self::CONSTRAINT_UNIQUE,
self::CONSTRAINT_FOREIGN,
] $_validForeignKeyActionssource
protected static array
Имена допустимых действий для внешних ключей.
[
self::ACTION_CASCADE,
self::ACTION_SET_NULL,
self::ACTION_SET_DEFAULT,
self::ACTION_NO_ACTION,
self::ACTION_RESTRICT,
] $_validIndexTypessource
protected static array
Имена допустимых типов индексов.
[
self::INDEX_INDEX,
self::INDEX_FULLTEXT,
] $columnLengthssource
public static array
Допустимые длины столбцов, которые можно использовать со столбцами типа text
[
'tiny' => self::LENGTH_TINY,
'medium' => self::LENGTH_MEDIUM,
'long' => self::LENGTH_LONG
]
© 2005–2017 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.
https://api.cakephp.org/3.3/class-Cake.Database.Schema.Table.html