Spec-Zone.ru › CakePHP 3.6

Класс TableSchema

Представляет собой отдельную таблицу в схеме базы данных.

Может быть заполнен с помощью API рефлексии или путем поэтапного построения экземпляра с помощью методов.

После создания экземпляры TableSchema могут быть добавлены в объекты Schema\Collection. Их также можно преобразовать в SQL с помощью методов createSql(), dropSql() и truncateSql().

Cake\Database\Schema\TableSchema реализует Cake\Database\Schema\TableSchemaInterface, Cake\Database\Schema\SqlGeneratorInterface
Пространство имен: Cake\Database\Schema
Расположение: Database/Schema/TableSchema.php

Краткое описание констант

  • string

    ACTION_CASCADE
    'cascade'
  • string

    ACTION_NO_ACTION
    'noAction'
  • string

    ACTION_RESTRICT
    'restrict'
  • string

    ACTION_SET_DEFAULT
    'setDefault'
  • string

    ACTION_SET_NULL
    'setNull'
  • string

    CONSTRAINT_FOREIGN
    'foreign'
  • string

    CONSTRAINT_PRIMARY
    'primary'
  • string

    CONSTRAINT_UNIQUE
    'unique'
  • string

    INDEX_FULLTEXT
    'fulltext'
  • string

    INDEX_INDEX
    'index'
  • integer

    LENGTH_LONG
    4294967295
  • integer

    LENGTH_MEDIUM
    16777215
  • integer

    LENGTH_TINY
    255

Унаследованные константы

  • TYPE_BIGINTEGER, TYPE_BINARY, TYPE_BINARY_UUID, TYPE_BOOLEAN, TYPE_DATE, TYPE_DATETIME, TYPE_DECIMAL, TYPE_FLOAT, TYPE_INTEGER, TYPE_JSON, TYPE_SMALLINTEGER, TYPE_STRING, TYPE_TEXT, TYPE_TIME, TYPE_TIMESTAMP, TYPE_TINYINTEGER, TYPE_UUID

Краткое описание свойств

  • $_columnExtras protected static
    array
    Дополнительные свойства, специфичные для типа.
  • $_columnKeys protected static
    array

    Допустимые ключи, которые могут быть использованы в определении столбца.

  • $_columns protected
    array
    Столбцы в таблице.
  • $_constraints protected
    array
    Ограничения в таблице.
  • $_indexKeys protected static
    array

    Допустимые ключи, которые могут быть использованы в определении индекса.

  • $_indexes protected
    array
    Индексы в таблице.
  • $_options protected
    array
    Параметры для таблицы.
  • $_table protected
    string
    Имя таблицы
  • $_temporary protected
    boolean
    Является ли таблица временной
  • $_typeMap protected
    array
    Отображение столбцов к типам
  • $_validConstraintTypes protected static
    array
    Названия допустимых типов ограничений.
  • $_validForeignKeyActions protected static
    array
    Названия допустимых действий для внешних ключей.
  • $_validIndexTypes protected static
    array
    Названия допустимых типов индексов.
  • $columnLengths public static
    array
    Допустимая длина столбца, которую можно использовать со столбцами типа text

Краткое описание методов

  • __construct() public
    Конструктор.
  • __debugInfo() public
    Возвращает массив схемы таблицы.
  • _checkForeignKey() protected
    Вспомогательный метод для проверки/валидации внешних ключей.
  • addColumn() public
    Добавляет столбец в таблицу.
  • addConstraint() public
    Добавляет ограничение.
  • addConstraintSql() public
    Генерирует SQL-запросы для добавления ограничений к таблице
  • addIndex() public
    Добавляет индекс.
  • baseColumnType() public

    Возвращает базовое имя типа столбца. Представляет тип базы данных, на котором основан более сложный класс.

  • column() public deprecated
    Получает данные столбца в таблице.
  • columnType() public deprecated

    Устанавливает тип столбца или возвращает его текущий тип, если он не передан.

  • columns() public
    Получает имена столбцов в таблице.
  • constraint() public deprecated
    Считывает информацию об ограничении на основе имени.
  • constraints() public
    Получает имена всех ограничений в таблице.
  • createSql() public
    Генерирует SQL для создания таблицы.
  • defaultValues() public
    Получает хеш столбцов и их значений по умолчанию.
  • dropConstraint() public
    Удаляет ограничение.
  • dropConstraintSql() public
    Генерирует SQL-запросы для удаления ограничений из таблицы
  • dropSql() public
    Генерирует SQL для удаления таблицы.
  • getColumn() public
    Получает данные столбца в таблице.
  • getColumnType() public
    Возвращает тип столбца или null, если столбец не существует.
  • getConstraint() public
    Считывает информацию об ограничении по имени.
  • getIndex() public
    Считывает информацию об индексе по имени.
  • getOptions() public
    Получает параметры таблицы.
  • hasAutoincrement() public
    Проверяет, определён ли столбец autoIncrement в таблице.
  • hasColumn() public
    Возвращает true, если столбец существует в схеме.
  • index() public deprecated
    Считывает информацию об индексе по имени.
  • indexes() public
    Получает имена всех индексов в таблице.
  • isNullable() public
    Проверяет, является ли поле nullable.
  • isTemporary() public
    Получает, является ли таблица временной в базе данных.
  • name() public
    Получает имя таблицы.
  • options() public deprecated
    Получить/установить параметры таблицы.
  • primaryKey() public
    Получает столбец(ы), используемый(е) для первичного ключа.
  • removeColumn() public
    Удаляет столбец из схемы таблицы.
  • setColumnType() public
    Устанавливает тип столбца.
  • setOptions() public
    Устанавливает параметры таблицы.
  • setTemporary() public
    Устанавливает, является ли таблица временной в базе данных.
  • temporary() public deprecated
    Получить/установить, является ли таблица временной в базе данных
  • truncateSql() public
    Генерирует SQL-запросы для усечения таблицы
  • typeMap() public

    Возвращает массив, где ключи — имена столбцов в схеме, а значения — типы данных базы данных.

Подробное описание методов

__construct()source public

__construct( string $table , array $columns = [] )

Конструктор.

Параметры

строка $table
Имя таблицы.
массив $columns необязательно []
Список столбцов для схемы.

__debugInfo()source public

__debugInfo( )

Возвращает массив схемы таблицы.

Возвращаемое значение

массив

_checkForeignKey()source protected

_checkForeignKey( array $attrs )

Вспомогательный метод для проверки/валидации внешних ключей.

Параметры

массив $attrs
Атрибуты для установки.

Возвращаемое значение

массив

Исключения

Cake\Database\Exception
Когда определение внешнего ключа не является допустимым.

addColumn()source public

addColumn( string $name , array $attrs )

Добавляет столбец в таблицу.

Параметры

строка $name
Имя столбца
массив $attrs
Атрибуты для столбца.

Возвращаемое значение


$this

Реализация

Cake\Datasource\SchemaInterface::addColumn()

addConstraint()source public

addConstraint( string $name , array $attrs )

Добавляет ограничение.

Параметры

строка $name
Имя ограничения.
массив $attrs
Атрибуты для ограничения.

Возвращаемое значение


$this

Исключения

Cake\Database\Exception

Реализация

Cake\Database\Schema\TableSchemaInterface::addConstraint()

addConstraintSql()source public

addConstraintSql( Cake\Database\Connection $connection )

Генерирует SQL-запросы для добавления ограничений к таблице

Параметры

Cake\Database\Connection $connection
Соединение для генерации SQL.

Возвращаемое значение

массив
SQL для добавления ограничений.

Реализация

Cake\Database\Schema\SqlGeneratorInterface::addConstraintSql()

addIndex()source public

addIndex( string $name , array $attrs )

Добавить индекс.

Параметры

string $name
Имя индекса.
array $attrs
Атрибуты индекса.

Возвращает


$this

Исключения

Cake\Database\Exception

Реализация

Cake\Database\Schema\TableSchemaInterface::addIndex()

baseColumnType()source public

baseColumnType( string $column )

Возвращает базовое имя типа столбца. Представляет тип базы данных, на котором основан более сложный класс.

Параметры

string $column
Имя столбца, для которого нужно получить базовый тип.

Возвращает

string|null
Имя базового типа

Реализация

Cake\Datasource\SchemaInterface::baseColumnType()

column()source public deprecated

column( string $name )

Получить данные столбца в таблице.

Устарело

3.5.0 Используйте getColumn() вместо этого.

Параметры

string $name
Имя столбца.

Возвращает

array|null
Данные столбца или null.

columnType()source public deprecated

columnType( string $name , string|null $type = null )

Устанавливает тип столбца или возвращает его текущий тип, если он не передан.

Устарело

3.5.0 Используйте setColumnType()/getColumnType() вместо этого.

Параметры

string $name
Столбец, для которого нужно получить тип.
string|null $type optional null
Тип для установки столбца.

Возвращает

string|null
Тип столбца или null.

columns()source public

columns( )

Получить имена столбцов в таблице.

Возвращает

array

Реализация

Cake\Datasource\SchemaInterface::columns()

constraint()source public deprecated

constraint( string $name )

Получить информацию о ограничении по имени.

Устарело

3.5.0 Используйте getConstraint() вместо этого.

Параметры

string $name
Имя ограничения.

Возвращает

array|null
Массив данных ограничения или null

constraints()source public

constraints( )

Получить имена всех ограничений в таблице.

Возвращает

array

Реализация

Cake\Database\Schema\TableSchemaInterface::constraints()

createSql()source public

createSql( Cake\Database\Connection $connection )

Генерировать SQL для создания таблицы.

Параметры

Cake\Database\Connection $connection
Соединение для генерации SQL.

Возвращает

array

Список SQL-запросов для создания таблицы и необходимых индексов.


Реализация

Cake\Database\Schema\SqlGeneratorInterface::createSql()

defaultValues()source public

defaultValues( )

Получить хеш столбцов и их значений по умолчанию.

Возвращает

array

Реализация

Cake\Datasource\SchemaInterface::defaultValues()

dropConstraint()source public

dropConstraint( string $name )

Удалить ограничение.

Параметры

string $name
Имя ограничения для удаления

Возвращает


$this

Реализация

Cake\Database\Schema\TableSchemaInterface::dropConstraint()

dropConstraintSql()source public

dropConstraintSql( Cake\Database\Connection $connection )

Сгенерировать SQL-запросы для удаления ограничений таблицы

Параметры

Cake\Database\Connection $connection
Соединение для генерации SQL.

Возвращает

array
SQL для удаления таблицы.

Реализация

Cake\Database\Schema\SqlGeneratorInterface::dropConstraintSql()

dropSql()source public

dropSql( Cake\Database\Connection $connection )

Сгенерировать SQL для удаления таблицы.

Параметры

Cake\Database\Connection $connection
Соединение для генерации SQL.

Возвращает

array
SQL для удаления таблицы.

Реализация

Cake\Database\Schema\SqlGeneratorInterface::dropSql()

getColumn()source public

getColumn( string $name )

Получить данные столбца в таблице.

Параметры

string $name
Имя столбца.

Возвращает

array|null
Данные столбца или null.

Реализация

Cake\Datasource\SchemaInterface::getColumn()

getColumnType()source public

getColumnType( string $name )

Возвращает тип столбца или null, если столбец не существует.

Параметры

string $name
Столбец, для которого нужно получить тип.

Возвращает

string|null

Реализация

Cake\Datasource\SchemaInterface::getColumnType()

getConstraint()source public

getConstraint( string $name )

Получить информацию об ограничении по имени.

Параметры

string $name
Имя ограничения.

Возвращает

array|null
Массив данных ограничения или null

Реализация

Cake\Database\Schema\TableSchemaInterface::getConstraint()

getIndex()source public

getIndex( string $name )

Получить информацию об индексе по имени.

Параметры

string $name
Имя индекса.

Возвращает

array|null
Массив данных индекса или null

Реализация

Cake\Database\Schema\TableSchemaInterface::getIndex()

getOptions()source public

getOptions( )

Получить параметры таблицы.

Возвращает

array
Массив параметров.

Реализация

Cake\Datasource\SchemaInterface::getOptions()

hasAutoincrement()source public

hasAutoincrement( )

Проверить наличие столбца автоинкремента в таблице.

Возвращает

boolean

Реализация

Cake\Database\Schema\TableSchemaInterface::hasAutoincrement()

hasColumn()source public

hasColumn( string $name )

Возвращает true, если столбец существует в схеме.

Параметры

string $name
Имя столбца.

Возвращает

boolean

Реализация

Cake\Datasource\SchemaInterface::hasColumn()
END_OF_DOCUMENT_MARKER

index()source public устаревший

index( string $name )

Получение информации об индексе по имени.

Устаревший

3.5.0 Используйте getIndex() вместо этого.

Параметры

string $name
Имя индекса.

Возвращает

array|null
Массив данных индекса или null

indexes()source public

indexes( )

Получение имён всех индексов в таблице.

Возвращает

array

Реализация

Cake\Database\Schema\TableSchemaInterface::indexes()

isNullable()source public

isNullable( string $name )

Проверка возможности значения NULL для поля.

Параметры

string $name
Имя столбца для получения типа.

Возвращает

boolean
Возможность значения NULL для поля.

Реализация

Cake\Datasource\SchemaInterface::isNullable()

isTemporary()source public

isTemporary( )

Получение информации о временной таблице в базе данных.

Возвращает

boolean
Текущее значение временной таблицы.

Реализация

Cake\Database\Schema\TableSchemaInterface::isTemporary()

name()source public

name( )

Получение имени таблицы.

Возвращает

string

Реализация

Cake\Datasource\SchemaInterface::name()

options()source public устаревший

options( array|null $options = null )

Получение/установка опций для таблицы.

Опции таблицы позволяют задавать опции уровня таблицы, специфичные для платформы. Например, тип движка в MySQL.

Устаревший

3.4.0 Используйте setOptions()/getOptions() вместо этого.

Параметры

array|null $options необязательно null
Опции для установки или null для чтения опций.

Возвращает


$this|array Объект TableSchema или массив опций при чтении.

primaryKey()source public

primaryKey( )

Получение столбца(ов) для первичного ключа.

Возвращает

array

Имя(а) столбца(ов) для первичного ключа. Если таблица не имеет первичного ключа, возвращается пустой список.


Реализация

Cake\Database\Schema\TableSchemaInterface::primaryKey()

removeColumn()source public

removeColumn( string $name )

Удаление столбца из схемы таблицы.

Параметры

string $name
Имя столбца

Возвращает


$this

Реализация

Cake\Datasource\SchemaInterface::removeColumn()

setColumnType()source public

setColumnType( string $name , string $type )

Установка типа столбца.

Параметры

string $name
Столбец, для которого нужно установить тип.
string $type
Тип, на который нужно установить столбец.

Возвращает


$this

Реализация

Cake\Datasource\SchemaInterface::setColumnType()

setOptions()source public

setOptions( array $options )

Установка опций для таблицы.

Параметры

array $options
Опции для установки.

Возвращает


$this

Реализация

Cake\Datasource\SchemaInterface::setOptions()

setTemporary()source public

setTemporary( boolean $temporary )

Установка флага временной таблицы в базе данных.

Параметры

boolean $temporary
Флаг, указывающий, является ли таблица временной.

Возвращает


$this

Реализация

Cake\Database\Schema\TableSchemaInterface::setTemporary()

temporary()source public устаревший

temporary( boolean|null $temporary = null )

Получение/Установка флага временной таблицы в базе данных

Устаревший

3.4.0 Используйте setTemporary()/isTemporary() вместо этого.

Параметры

boolean|null $temporary необязательно null
Флаг, указывающий, является ли таблица временной

Возвращает


$this|bool Объект TableSchema или текущее значение флага временной таблицы

truncateSql()source public

truncateSql( Cake\Database\Connection $connection )

Генерация SQL-запросов для усечения таблицы.

Параметры

Cake\Database\Connection $connection
Подключение для генерации SQL.

Возвращает

array
SQL-запросы для усечения таблицы.

Реализация

Cake\Database\Schema\SqlGeneratorInterface::truncateSql()

typeMap()source public

typeMap( )

Возвращает массив, где ключи — имена столбцов в схеме, а значения — соответствующие типы данных в базе данных.

Возвращает

array

Реализация

Cake\Datasource\SchemaInterface::typeMap()

Подробное описание свойств

$_columnExtrassource

protected static array

Дополнительные свойства, специфичные для типа.

[
    'string' => [
        'fixed' => null,
        'collate' => null,
    ],
    'text' => [
        'collate' => null,
    ],
    'tinyinteger' => [
        'unsigned' => null,
    ],
    'smallinteger' => [
        'unsigned' => 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,
]

$_columnssource

protected array

Столбцы в таблице.

[]

$_constraintssource

protected array

Ограничения в таблице.

[]

$_indexKeyssource

protected static array

Допустимые ключи, используемые в определении индекса.

[
    'type' => null,
    'columns' => [],
    'length' => [],
    'references' => [],
    'update' => 'restrict',
    'delete' => 'restrict',
]

$_indexessource

protected array

Индексы в таблице.

[]

$_optionssource

protected array

Опции для таблицы.

[]
END_OF_DOCUMENT_MARKER

$_tablesource

protected string

Имя таблицы

$_temporarysource

protected boolean

Является ли таблица временной

false

$_typeMapsource

protected array

Отображение столбцов к типам

[]

$_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–present 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.6/class-Cake.Database.Schema.TableSchema.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API