Spec-Zone.ru › CakePHP 3.3

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

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

Может быть заполнен с помощью 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
    Проверить, определен ли в таблице столбец 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\Exception

addConstraintSql()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\Exception

baseColumnType()source public

baseColumnType( string $column )

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

Параметры

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

Возвращает

строка
Имя базового типа

column()source public

column( string $name )

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

Параметры

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

Возвращает

массив|null
Данные столбца или null.
END_OF_DOCUMENT_MARKER

columnType()source public

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

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

Параметры

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

Возвращает

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

columns()source public

columns( )

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

Возвращает

массив

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

indexes()source public

indexes( )

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

Возвращает

массив

isNullable()source public

isNullable( string $name )

Проверить, является ли поле допускающим null

Пропущенные столбцы допускают null.

Параметры

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

Возвращает

логическое значение
Допускает ли поле null.

name()source public

name( )

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

Возвращает

строка

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

$_columnssource

protected массив

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

[]

$_constraintssource

protected массив

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

[]

$_indexKeyssource

protected static array

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

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

$_indexessource

protected array

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

[]

$_optionssource

protected array

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

[]

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

Spec-Zone.ru

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