Класс Таблица
Представляет одну таблицу в схеме базы данных.
Может быть заполнен с помощью API рефлексии или путем поэтапного построения экземпляра с помощью методов.
После создания экземпляры таблицы могут быть добавлены в объекты Schema\Collection. Их также можно преобразовать в SQL с помощью методов createSql(), dropSql() и truncateSql().
Подробное описание методов
__constructsource public
__construct( string $table , array $columns [] )
Конструктор.
Параметры
- string
$table - Имя таблицы.
- array
$columnsнеобязательно [] - Список столбцов для схемы.
_checkForeignKeysource protected
_checkForeignKey( array $attrs )
Вспомогательный метод для проверки/валидации внешних ключей.
Параметры
- array
$attrs - Атрибуты для установки.
Возвращает
arrayмассив
Выбрасывает
Cake\Database\ExceptionПри некорректном определении внешнего ключа.
addColumnsource 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 - Атрибуты столбца.
Возвращает
mixed$this
addConstraintsource 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 - Атрибуты ограничения.
Возвращает
mixed$this
Выбрасывает
Cake\Database\Exception\Cake\Database\Исключение
addConstraintSqlsource public
addConstraintSql( Cake\Datasource\ConnectionInterface $connection )
Генерация SQL-запросов для добавления ограничений в таблицу
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение для генерации SQL.
Возвращает
arraySQL для удаления таблицы.
addIndexsource public
addIndex( string $name , array $attrs )
Добавить индекс.
Используется для добавления индексов и полных текстовых индексов в платформах, которые их поддерживают.
Атрибуты
-
typeТип добавляемого индекса. -
columnsСтолбцы в индексе.
Параметры
- string
$name - Имя индекса.
- array
$attrs - Атрибуты индекса.
Возвращает
mixed$this
Выбрасывает
Cake\Database\Exception\Cake\Database\Exception
baseColumnTypesource public
baseColumnType( string $column )
Возвращает имя базового типа для указанного столбца. Представляет тип базы данных, на котором основан более сложный класс.
Параметры
- string
$column - Имя столбца, для которого нужно получить базовый тип
Возвращает
stringИмя базового типа
columnsource public
column( string $name )
Получить данные столбца в таблице.
Параметры
- string
$name - Имя столбца.
Возвращает
array|nullДанные столбца или null.
columnTypesource public
columnType( string $name , string $type null )
Устанавливает тип столбца или возвращает его текущий тип, если он не передан.
Параметры
- string
$name - Столбец, для которого нужно получить тип.
- string
$typeопционально null - Тип, которому нужно установить столбец.
Возвращает
string|nullТип столбца или null.
constraintsource public
constraint( string $name )
Считывает информацию о ограничении на основе имени.
Параметры
- string
$name - Имя ограничения.
Возвращает
array|nullМассив данных ограничения или null
constraintssource public
constraints( )
Получить имена всех ограничений в таблице.
Возвращает
arrayмассив
createSqlsource public
createSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL для создания таблицы.
Использует соединение для доступа к диалекту схемы для генерации платформенно-специфического SQL.
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение, для которого нужно сгенерировать SQL
Возвращает
arrayСписок SQL-запросов для создания таблицы и необходимых индексов.
defaultValuessource public
defaultValues( )
Получить хеш столбцов и их значений по умолчанию.
Возвращает
arrayмассив
dropConstraintsource public
dropConstraint( string $name )
Удалить ограничение.
Параметры
- string
$name - Имя ограничения для удаления
dropConstraintSqlsource public
dropConstraintSql( Cake\Datasource\ConnectionInterface $connection )
Сгенерировать SQL-запросы для удаления ограничений из таблицы
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Соединение, для которого нужно сгенерировать SQL.
Возвращает
arraySQL для удаления таблицы.
dropSqlsource public
dropSql( Cake\Datasource\ConnectionInterface $connection )
Генерирует SQL для удаления таблицы.
Использует подключение для доступа к диалекту схемы, чтобы сгенерировать платформозависимый SQL.
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Подключение для генерации SQL.
Возвращает
arraySQL для удаления таблицы.
hasAutoincrementsource public
hasAutoincrement( )
Проверяет, содержит ли таблица столбец с автоинкрементом.
Возвращает
booleanbool
indexsource public
index( string $name )
Считывает информацию об индексе по имени.
Параметры
- string
$name - Имя индекса.
Возвращает
array|nullМассив данных индекса или null
isNullablesource public
isNullable( string $name )
Проверяет, является ли поле nullable.
Отсутствующие столбцы являются nullable.
Параметры
- string
$name - Столбец, для которого нужно получить тип.
Возвращает
booleanЯвляется ли поле nullable.
optionssource public
options( array|null $options null )
Получает/устанавливает параметры таблицы.
Параметры таблицы позволяют устанавливать платформозависимые параметры уровня таблицы. Например, тип движка в MySQL.
Параметры
- array|null
$optionsнеобязательно null - Параметры для установки или null для чтения параметров.
Возвращает
mixed$this|массив Объект таблицы или массив параметров при чтении.
primaryKeysource public
primaryKey( )
Получает столбец(ы) первичного ключа.
Возвращает
arrayИмя столбца(ов) первичного ключа. Если первичный ключ отсутствует, возвращается пустой список.
temporarysource public
temporary( boolean|null $set null )
Получает/устанавливает временный статус таблицы в базе данных
Параметры
- boolean|null
$setнеобязательно null - Временный статус таблицы
Возвращает
mixed$this|bool Объект таблицы или текущее значение временного статуса.
truncateSqlsource public
truncateSql( Cake\Datasource\ConnectionInterface $connection )
Генерирует SQL-запросы для усечения таблицы.
Параметры
-
Cake\Datasource\ConnectionInterface$connection - Подключение для генерации SQL.
Возвращает
arraySQL для усечения таблицы.
typeMapsource public
typeMap( )
Возвращает массив, где ключи - имена столбцов в схеме, а значения - соответствующие типы данных в базе данных.
Возвращает
arrayмассив
Краткое описание констант
string | ACTION_CASCADE Действие каскадного обновления внешнего ключа | 'cascade' |
string | ACTION_NO_ACTION Действие без обновления внешнего ключа | 'noAction' |
string | ACTION_RESTRICT Действие ограничения при обновлении внешнего ключа | 'restrict' |
string | ACTION_SET_DEFAULT Действие по умолчанию при обновлении внешнего ключа | 'setDefault' |
string | ACTION_SET_NULL Действие установки значения NULL при обновлении внешнего ключа | 'setNull' |
string | CONSTRAINT_FOREIGN Тип ограничения внешнего ключа | 'foreign' |
string | CONSTRAINT_PRIMARY Тип ограничения первичного ключа | 'primary' |
string | CONSTRAINT_UNIQUE Тип ограничения уникальности | 'unique' |
string | INDEX_FULLTEXT Тип индекса FULLTEXT | 'fulltext' |
string | INDEX_INDEX Тип индекса INDEX | 'index' |
Краткое описание свойств
© 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.1/class-Cake.Database.Schema.Table.html