Spec-Zone.ru › Yii 2.0

Класс yii\db\pgsql\QueryBuilder

Все классы | Свойства | Методы | Константы
Наследование yii\db\pgsql\QueryBuilder » yii\db\QueryBuilder » yii\base\Object
Реализует yii\base\Configurable
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/db/pgsql/QueryBuilder.php

QueryBuilder — это генератор запросов для баз данных PostgreSQL.

Публичные свойства

Свойство Тип Описание Определено в
$db yii\db\Connection Подключение к базе данных. yii\db\QueryBuilder
$separator string Разделитель между различными фрагментами SQL-запроса. yii\db\QueryBuilder
$typeMap array Сопоставление абстрактных типов столбцов (ключи) с физическими типами столбцов (значения). yii\db\pgsql\QueryBuilder

Защищенные свойства

Свойство Тип Описание Определено в
$conditionBuilders array Карта условий запроса к методам-билдерам. yii\db\pgsql\QueryBuilder
$likeEscapeCharacter string|null Символ, используемый для экранирования специальных символов в условиях LIKE. yii\db\QueryBuilder
$likeEscapingReplacements array Карта символов и их замен в условиях LIKE. yii\db\QueryBuilder

Публичные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\db\QueryBuilder
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
addColumn() Создаёт SQL-запрос для добавления нового столбца БД. yii\db\QueryBuilder
addCommentOnColumn() Создаёт SQL-команду для добавления комментария к столбцу yii\db\QueryBuilder
addCommentOnTable() Создаёт SQL-команду для добавления комментария к таблице yii\db\QueryBuilder
addForeignKey() Создаёт SQL-запрос для добавления ограничения внешнего ключа к существующей таблице. yii\db\QueryBuilder
addPrimaryKey() Создаёт SQL-запрос для добавления ограничения первичного ключа к существующей таблице. yii\db\QueryBuilder
alterColumn() Создаёт SQL-запрос для изменения определения столбца. yii\db\pgsql\QueryBuilder
batchInsert() Генерирует SQL-запрос для пакетной вставки данных. yii\db\pgsql\QueryBuilder
build() Генерирует SQL-запрос SELECT из объекта yii\db\Query. yii\db\QueryBuilder
buildAndCondition() Соединяет два или более SQL-выражений с оператором AND или OR. yii\db\QueryBuilder
buildBetweenCondition() Создаёт SQL-выражение с оператором BETWEEN. yii\db\QueryBuilder
buildColumns() Обрабатывает столбцы и должным образом обрамляет их кавычками, если это необходимо. yii\db\QueryBuilder
buildCondition() Парсит условие и генерирует соответствующее SQL-выражение. yii\db\QueryBuilder
buildExistsCondition() Создаёт SQL-выражение с оператором EXISTS. yii\db\QueryBuilder
buildFrom() yii\db\QueryBuilder
buildGroupBy() yii\db\QueryBuilder
buildHashCondition() Создаёт условие на основе пар "столбец-значение". yii\db\QueryBuilder
buildHaving() yii\db\QueryBuilder
buildInCondition() Создаёт SQL-выражение с оператором IN. yii\db\QueryBuilder
buildJoin() yii\db\QueryBuilder
buildLikeCondition() Создаёт SQL-выражение с оператором LIKE. yii\db\QueryBuilder
buildLimit() yii\db\QueryBuilder
buildNotCondition() Инвертирует SQL-выражение с оператором NOT. yii\db\QueryBuilder
buildOrderBy() yii\db\QueryBuilder
buildOrderByAndLimit() Создаёт и добавляет в SQL-запрос ORDER BY и LIMIT/OFFSET. yii\db\QueryBuilder
buildSelect() yii\db\QueryBuilder
buildSimpleCondition() Создаёт SQL-выражение, подобное "column" operator value. yii\db\QueryBuilder
buildUnion() yii\db\QueryBuilder
buildWhere() yii\db\QueryBuilder
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
checkIntegrity() Создаёт SQL-запрос для включения или выключения проверки целостности. yii\db\pgsql\QueryBuilder
className() Возвращает полное квалифицированное имя класса. yii\base\Object
createIndex() Создаёт SQL-запрос для создания нового индекса. yii\db\pgsql\QueryBuilder
createTable() Создаёт SQL-запрос для создания новой таблицы БД. yii\db\QueryBuilder
delete() Создаёт SQL-запрос DELETE. yii\db\QueryBuilder
dropColumn() Создаёт SQL-запрос для удаления столбца БД. yii\db\QueryBuilder
dropCommentFromColumn() Создаёт SQL-команду для удаления комментария к столбцу yii\db\QueryBuilder
dropCommentFromTable() Создаёт SQL-команду для удаления комментария к таблице yii\db\QueryBuilder
dropForeignKey() Создаёт SQL-запрос для удаления ограничения внешнего ключа. yii\db\QueryBuilder
dropIndex() Создаёт SQL-запрос для удаления индекса. yii\db\pgsql\QueryBuilder
dropPrimaryKey() Создаёт SQL-запрос для удаления ограничения первичного ключа из существующей таблицы. yii\db\QueryBuilder
dropTable() Создаёт SQL-запрос для удаления таблицы БД. yii\db\QueryBuilder
getColumnType() Преобразует абстрактный тип столбца в физический тип столбца. yii\db\QueryBuilder
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определён ли свойство. yii\base\Object
init() Инициализирует объект. yii\base\Object
insert() Создаёт SQL-запрос INSERT. yii\db\pgsql\QueryBuilder
renameColumn() Строит SQL-запрос для переименования столбца. yii\db\QueryBuilder
renameTable() Строит SQL-запрос для переименования таблицы БД. yii\db\pgsql\QueryBuilder
resetSequence() Создаёт SQL-запрос для сброса значения последовательности первичного ключа таблицы. yii\db\pgsql\QueryBuilder
selectExists() Создаёт SQL-запрос SELECT EXISTS(). yii\db\QueryBuilder
truncateTable() Строит SQL-запрос для обнуления таблицы БД. yii\db\pgsql\QueryBuilder
update() Создаёт SQL-запрос UPDATE. yii\db\pgsql\QueryBuilder

Защищённые методы

Метод Описание Определено в
buildCompositeInCondition() Строит SQL для условия IN yii\db\QueryBuilder
buildSubqueryInCondition() Строит SQL для условия IN yii\db\QueryBuilder
hasLimit() Проверяет, является ли заданный лимит эффективным. yii\db\QueryBuilder
hasOffset() Проверяет, является ли заданный смещение эффективным. yii\db\QueryBuilder
prepareInsertSelectSubQuery() Подготавливает подзапрос select и имена полей для INSERT INTO. yii\db\QueryBuilder

Константы

Константа Значение Описание Определено в
INDEX_B_TREE 'btree' Определяет индекс B-дерева для createIndex(). yii\db\pgsql\QueryBuilder
INDEX_GIN 'gin' Определяет индекс GIN для createIndex(). yii\db\pgsql\QueryBuilder
INDEX_GIST 'gist' Определяет индекс GiST для createIndex(). yii\db\pgsql\QueryBuilder
INDEX_HASH 'hash' Определяет хеш-индекс для createIndex(). yii\db\pgsql\QueryBuilder
INDEX_UNIQUE 'unique' Определяет уникальный индекс для createIndex(). yii\db\pgsql\QueryBuilder
PARAM_PREFIX ':qp' Префикс для автоматически сгенерированных параметров связи запроса. yii\db\QueryBuilder

Подробности свойств

$conditionBuilders защищённое свойство

Карта условия запроса к методам-строителям. Эти методы используются buildCondition() для построения SQL-условий из синтаксиса массивов.

protected array $conditionBuilders = ['NOT' => 'buildNotCondition', 'AND' => 'buildAndCondition', 'OR' => 'buildAndCondition', 'BETWEEN' => 'buildBetweenCondition', 'NOT BETWEEN' => 'buildBetweenCondition', 'IN' => 'buildInCondition', 'NOT IN' => 'buildInCondition', 'LIKE' => 'buildLikeCondition', 'ILIKE' => 'buildLikeCondition', 'NOT LIKE' => 'buildLikeCondition', 'NOT ILIKE' => 'buildLikeCondition', 'OR LIKE' => 'buildLikeCondition', 'OR ILIKE' => 'buildLikeCondition', 'OR NOT LIKE' => 'buildLikeCondition', 'OR NOT ILIKE' => 'buildLikeCondition', 'EXISTS' => 'buildExistsCondition', 'NOT EXISTS' => 'buildExistsCondition']

$typeMap публичное свойство

Сопоставление абстрактных типов столбцов (ключи) с физическими типами столбцов (значения).

public array $typeMap = [\yii\db\pgsql\Schema::TYPE_PK => 'serial NOT NULL PRIMARY KEY', \yii\db\pgsql\Schema::TYPE_UPK => 'serial NOT NULL PRIMARY KEY', \yii\db\pgsql\Schema::TYPE_BIGPK => 'bigserial NOT NULL PRIMARY KEY', \yii\db\pgsql\Schema::TYPE_UBIGPK => 'bigserial NOT NULL PRIMARY KEY', \yii\db\pgsql\Schema::TYPE_CHAR => 'char(1)', \yii\db\pgsql\Schema::TYPE_STRING => 'varchar(255)', \yii\db\pgsql\Schema::TYPE_TEXT => 'text', \yii\db\pgsql\Schema::TYPE_SMALLINT => 'smallint', \yii\db\pgsql\Schema::TYPE_INTEGER => 'integer', \yii\db\pgsql\Schema::TYPE_BIGINT => 'bigint', \yii\db\pgsql\Schema::TYPE_FLOAT => 'double precision', \yii\db\pgsql\Schema::TYPE_DOUBLE => 'double precision', \yii\db\pgsql\Schema::TYPE_DECIMAL => 'numeric(10,0)', \yii\db\pgsql\Schema::TYPE_DATETIME => 'timestamp(0)', \yii\db\pgsql\Schema::TYPE_TIMESTAMP => 'timestamp(0)', \yii\db\pgsql\Schema::TYPE_TIME => 'time(0)', \yii\db\pgsql\Schema::TYPE_DATE => 'date', \yii\db\pgsql\Schema::TYPE_BINARY => 'bytea', \yii\db\pgsql\Schema::TYPE_BOOLEAN => 'boolean', \yii\db\pgsql\Schema::TYPE_MONEY => 'numeric(19,4)']

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

alterColumn() public method

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

public string alterColumn ( $table, $column, $type )
$table string

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

$column string

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

$type string

Новый тип столбца. Метод getColumnType() будет вызван для преобразования абстрактного типа столбца (если таковой имеется) в физический. Всё, что не распознаётся как абстрактный тип, будет сохранено в сгенерированном SQL. Например, 'string' будет преобразовано в 'varchar(255)', а 'string not null' — в 'varchar(255) not null'. Вы также можете использовать специфичную для PostgreSQL синтаксис, например SET NOT NULL.

return string

SQL-запрос для изменения определения столбца.

batchInsert() public method

Генерирует пакетный INSERT SQL-запрос.

Например,

$sql = $queryBuilder->batchInsert('user', ['name', 'age'], [
    ['Tom', 30],
    ['Jane', 20],
    ['Linda', 25],
]);

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

Метод корректно обработает имена столбцов и приведёт значения, которые будут вставлены, к кавычкам.

public string batchInsert ( $table, $columns, $rows )
$table string

Таблица, в которую будут вставлены новые строки.

$columns array

Имена столбцов

$rows array

Строки, которые будут вставлены в таблицу в пакетном режиме.

return string

Пакетный INSERT SQL-запрос.

checkIntegrity() public method

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

public string checkIntegrity ( $check = true, $schema = '', $table = '' )
$check boolean

Включить или отключить проверку целостности.

$schema string

Схема таблиц.

$table string

Имя таблицы.

return string

SQL-запрос для проверки целостности.

createIndex() public method

Строит SQL-запрос для создания нового индекса.

См. также http://www.postgresql.org/docs/8.2/static/sql-createindex.html.

public string createIndex ( $name, $table, $columns, $unique = false )
$name string

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

$table string

Таблица, для которой будет создан новый индекс. Имя таблицы будет корректно обрамлено кавычками методом.

$columns string|array

Столбец(ы), которые должны быть включены в индекс. Если столбцов несколько, разделите их запятыми или используйте массив. Каждое имя столбца будет корректно обрамлено кавычками методом, если в имени не обнаружены скобки.

$unique boolean|string

Указать, является ли это индексом UNIQUE. Вы можете передать true или INDEX_UNIQUE для создания уникального индекса, false для создания обычного индекса с использованием типа индекса по умолчанию или один из следующих констант для указания метода индекса: INDEX_B_TREE, INDEX_HASH, INDEX_GIST, INDEX_GIN.

return string

SQL-запрос для создания нового индекса.

dropIndex() public method

Строит SQL-запрос для удаления индекса.

public string dropIndex ( $name, $table )
$name string

Имя индекса, который необходимо удалить. Имя будет корректно обрамлено кавычками методом.

$table string

Таблица, индекс которой необходимо удалить. Имя таблицы будет корректно обрамлено кавычками методом.

return string

SQL-запрос для удаления индекса.

insert() public method

Создаёт INSERT SQL-запрос.

Например,

$sql = $queryBuilder->insert('user', [
    'name' => 'Sam',
    'age' => 30,
], $params);

Метод корректно обработает имена таблиц и столбцов.

public string insert ( $table, $columns, &$params )
$table string

Таблица, в которую будут вставлены новые строки.

$columns array|yii\db\Query

Данные столбцов (имя => значение) для вставки в таблицу или экземпляр \yii\db\pgsql\yii\db\Query для выполнения INSERT INTO ... SELECT SQL-запроса. Передача \yii\db\pgsql\yii\db\Query доступна начиная с версии 2.0.11.

$params array

Параметры привязки, которые будут сгенерированы этим методом. Они должны быть привязаны к команде базы данных позже.

return string

SQL INSERT.

renameTable() public method

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

public string renameTable ( $oldName, $newName )
$oldName string

Таблица, которую нужно переименовать. Имя будет корректно обрамлено кавычками методом.

$newName string

Новое имя таблицы. Имя будет корректно обрамлено кавычками методом.

return string

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

resetSequence() public method

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

Последовательность будет сброшена таким образом, что первичный ключ следующей новой вставленной строки будет иметь указанное значение или 1.

public string resetSequence ( $tableName, $value = null )
$tableName string

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

$value mixed

Значение первичного ключа следующей новой вставленной строки. Если это не задано, первичный ключ следующей новой строки будет иметь значение 1.

return string

SQL-запрос для сброса последовательности.

throws yii\base\InvalidParamException

если таблица не существует или с таблицей не связана последовательность.

truncateTable() public method

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

Явно перезапускает идентификатор для PGSQL, чтобы обеспечить согласованность с другими базами данных, которые делают это по умолчанию.

public string truncateTable ( $table )
$table string

Таблица, которую нужно обнулить. Имя будет корректно обрамлено кавычками методом.

return string

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

update() public method

Создаёт SQL-запрос UPDATE.

Например,

$params = [];
$sql = $queryBuilder->update('user', ['status' => 1], 'age > 30', $params);

Метод корректно экранирует имена таблиц и столбцов.

public string update ( $table, $columns, $condition, &$params )
$table string

Таблица, которая будет обновлена.

$columns array

Данные столбцов (имя => значение) для обновления.

$condition array|string

Условие, которое будет помещено в часть WHERE. Обратитесь к \yii\db\pgsql\Query::where() для получения информации о том, как указать условие.

$params array

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

return string

SQL-запрос UPDATE

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-pgsql-querybuilder.html

Spec-Zone.ru

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