Spec-Zone.ru › CakePHP 3.2

Класс Таблица

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

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

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

Пространство имён: Cake\Database\Schema
Расположение: Database/Schema/Table.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

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

  • $_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
    Конструктор.
  • _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 $columns optional []
Список столбцов для схемы.

_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\Exception

addConstraintSql()source public

addConstraintSql( Cake\Datasource\ConnectionInterface $connection )

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

Параметры

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

Возвращает

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

addIndex()source public

addIndex( string $name , array $attrs )

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

Используется для добавления индексов и полнотекстовых индексов в платформах, которые их поддерживают.

Атрибуты

  • type Тип добавляемого индекса.
  • columns Столбцы в индексе.

Параметры

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

Возвращает


$this

Выбрасывает

Cake\Database\Exception

baseColumnType()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 $type optional null
Тип, на который нужно установить столбец.

Возвращает

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

columns()source public

columns( )

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

Возвращает

array

constraint()source public

constraint( string $name )

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

Параметры

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

Возвращает

array|null
Данные ограничения, или null

constraints()source public

constraints( )

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

Возвращает

array

createSql()source public

createSql( Cake\Datasource\ConnectionInterface $connection )

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

Использует соединение для доступа к диалекту схемы для генерации платформоспецифического SQL.

Параметры

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

Возвращает

array

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


defaultValues()source public

defaultValues( )

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

Возвращает

array

dropConstraint()source public

dropConstraint( string $name )

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

Параметры

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

dropConstraintSql()source public

dropConstraintSql( Cake\Datasource\ConnectionInterface $connection )

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

Параметры

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

Возвращает

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

dropSql()source public

dropSql( Cake\Datasource\ConnectionInterface $connection )

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

Использует соединение для доступа к диалекту схемы для генерации платформоспецифического SQL.

Параметры

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

Возвращает

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

hasAutoincrement()source public

hasAutoincrement( )

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

Возвращает

boolean

index()source public

index( string $name )

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

Параметры

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

Возвращает

array|null
Данные индекса или null

indexes()source public

indexes( )

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

Возвращает

array

isNullable()source public

isNullable( string $name )

Проверить, является ли поле допустимым для null

Отсутствующие столбцы считаются допустимыми для null.

Параметры

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

Возвращает

boolean
Возможно ли значение null для поля.

name()source public

name( )

Получить имя таблицы.

Возвращает

string

options()source public

options( array|null $options null )

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

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

Параметры

array|null $options optional null
Параметры для установки или null для чтения параметров.

Возвращает


$this|array Экземпляр таблицы или массив параметров при чтении.

primaryKey()source public

primaryKey( )

Получить имя(а) столбца(ов), используемого(ых) в качестве первичного ключа.

Возвращает

array

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


temporary()source public

temporary( boolean|null $set null )

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

Параметры

boolean|null $set optional null
Является ли таблица временной.

Возвращает


$this|bool Экземпляр таблицы или текущее значение временного статуса.

truncateSql()source public

truncateSql( Cake\Datasource\ConnectionInterface $connection )

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

Параметры

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

Возвращает

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

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,
]

$_columnssource

protected array

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

[]
END_OF_DOCUMENT_MARKER

$_constraintssource

protected массив

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

[]

$_indexKeyssource

protected static массив

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

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

$_indexessource

protected массив

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

[]

$_optionssource

protected массив

Параметры для таблицы.

[]

$_tablesource

protected строка

Имя таблицы

$_temporarysource

protected логическое

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

false

$_typeMapsource

protected массив

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

[]

$_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

Spec-Zone.ru

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