Table
Класс для преобразования таблицы и её колонок
Метод подключения
PHP | |
---|---|
Свойства
model
Название модели / плагина / приложения * Может принимать значение null
PHP | |
---|---|
name
Название таблицы * Может принимать значение null
PHP | |
---|---|
id
Название колонки / ячейки с идентификатором * Может принимать значение null
PHP | |
---|---|
migrations_path
Путь, куда будут сохраняться описания миграций * Может принимать значение null
PHP | |
---|---|
columns
Массив колонок / ячеек таблицы с их описанием и параметрами
PHP | |
---|---|
col_keys
Ключи таблицы (Primary / Unique / Foreign)
PHP | |
---|---|
now
Текущие дата и время
PHP | |
---|---|
Методы
__construct
Конструктор
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$id | string | Название ID колонки |
$name | string | Название таблицы |
$model | string | Название модели |
$vars | array | Параметры колонок |
$col_keys | array | Параметры ключей таблицы |
$now | string|null | Параметр текущей даты и времени |
Пример:
getMigrationsPath
Возвращает путь до папки с миграциями
PHP | |
---|---|
setMigrationsPath
Устанавливает путь для миграций в базу данных
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$migrations_path | string|null | Путь до папки с миграциями |
prepare_table_attributes
Функция подготавливает и проверяет тип колонки, добавляет необходимые значения и удаляет ненужные или пустые значения
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$attributes | array | Массив данных с информацией колонки |
setKey
Устанавливает ключи для таблицы
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$name | string | Название ключа |
$vars | array | Перечень важных дополнительных параметров: - type - тип вставления ключей в код, поддерживаются: 'inside', 'modify', 'change', 'delete', 'create', 'update', 'new', 'drop', 'alter' - column - название колонки, к которой будет применяться модификация, может быть как массивом, так и прстым значением - table - название таблицы, в которой будет применены ключи. По умолчанию: используется таблица модели - target_table - нужно для ключа Foreign Key, указывает к которой будет применяться ключ - target_column - нужно для ключа Foreign Key, указывает к которой колонке относится ключ |
Параметры $vars:
Параметр | Тип | Описание |
---|---|---|
type | string | тип вставления ключей в код, поддерживаются: 'inside', 'modify', 'change', 'delete', 'create', 'update', 'new', 'drop', 'alter' |
column | string | название колонки, к которой будет применяться модификация, может быть как массивом, так и прстым значением |
table | string | название таблицы, в которой будет применены ключи |
target_table | string | нужно для ключа Foreign Key, указывает к которой будет применяться ключ |
target_column | string | нужно для ключа Foreign Key, указывает к которой колонке относится ключ |
on_delete | string | нужно для ключа Foreign Key при удалении подключённого объекта, может содержать одни из значений: 'RESTRICT', 'CASCADE', 'SET NULL', 'NO ACTION', 'SET DEFAULT'. По умолчанию: NO ACTION |
on_update | string | нужно для ключа Foreign Key при обновлении подключённого объекта, может содержать одни из значений: 'RESTRICT', 'CASCADE', 'SET NULL', 'NO ACTION', 'SET DEFAULT' . По умолчанию: NO ACTION |
Параметры $vars[type]:
Параметр | Тип | Описание |
---|---|---|
inside | string | Ключ проставляется внутри запроса |
modify , change , ̀update , alter | string | Создаётся команда обновления ключа |
create , new | string | Создаётся команда создания ключа вне запроса создания таблицы |
delete , drop | string | Создаётся команда удаления ключа |
keyAction
Вспомогательная функция для подготовки создания ключей для таблицы
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$type | string | Тип действия ключа: inside, create, edit, drop |
$exists | bool | Проверка на существующий ключ |
$table | string | Название таблицы |
$key_type | string | Тип ключа: primary, foreign, unique |
$key_name | string | Название ключа |
$keys | string | Колонки, которые будут учитываться при создания ключа |
$vars | array | Дополнительные параметры: - on_delete - Важный параметр для ключа Foreign Key, может содержать: 'RESTRICT', 'CASCADE', 'SET NULL', 'NO ACTION', 'SET DEFAULT' - on_update - Важный параметр для ключа Foreign Key, может содержать: 'RESTRICT', 'CASCADE', 'SET NULL', 'NO ACTION', 'SET DEFAULT' |
prepareTable
Готовим установленные данные для миграции * Добавляет колонку с создателем объекта * Добавляет колонку с редактором объекта * Добавляет колонку с датой создания объекта * Добавляет колонку с датой изменения объекта * Возвращает массив с данными таблицы
PHP | |
---|---|
checkMigrations
Проверка миграций * Если миграций нет или были найдены изменения в модели, то создаёт миграцию * Изменения можно просмотреть в файлах, которые создаются при миграции.
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$path | string | Путь до последнего файла миграции |
generateMigration
Создаём файл миграции * Подготавливает таблицу к миграции * Сохраняет все изменения в sql файл в папку с миграциями
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$file | string | Путь до файла последней миграции таблицы |
generate_column_sql
Генерирует строку колонки по параметрам * Возвращает sql команду
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$columns | array | Массив с колонками |
*** |
getId
Возвращает название колонки с ID
PHP | |
---|---|
setId
Устанавливает название колонки с ID
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$id | string | Название колонки |
getName
Возвращает название таблицы
PHP | |
---|---|
setName
Устанавливает название таблицы
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$name | string | Название |
getModel
Возвращает название модели
PHP | |
---|---|
setModel
Устанавливает название модели
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$model | string | Название |
getColumns
Возвращает все колонки таблицы в виде массива
PHP | |
---|---|
setColumns
Устанавливает колонки таблицы
PHP | |
---|---|
Параметр | Тип | Описание |
---|---|---|
$vars | array|string | Добавляет колонки в общий массив |
getColKeys
Возвращает ключи в виде массива
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$type | string | Параметр возврата определённого типа, по умолчанию - все |
setColKeys
Добавляет ключи (Primary, Foreign Key, Unique) к базе данных
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$col_keys | string|array | Может быть простым текстом, либо массивом |
$type | string | Устанавливает тип ключа: (Можно использовать любой другой тип) inside - Устанавливает ключи в функии создания таблицы after - Устанавливает ключи уже после функции создания таблицы |
getNow
Возвращает временной штамп
PHP | |
---|---|
setNow
Устанавливает текущую дату в формате цифрового штампа * Если передаётся пустой параметр, то берутся текущие дата и время
PHP | |
---|---|
Параметры:
Параметр | Тип | Описание |
---|---|---|
$now | string|null | Если значение пустое, то используется глобальное значение |
Унаследованные методы
DataLoader
Документация: DataLoader
LogGenerator
Документация: LogGenerator
Дата создания: May 25, 2022