Spec-Zone.ru › Yii 2.0

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

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

QueryBuilder — это генератор запросов для баз данных MS SQL Server (версии 2008 и выше).

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

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

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

Свойство Тип Описание Определено в
$conditionBuilders array Карта условий запроса к методам-строителям. yii\db\QueryBuilder
$likeEscapeCharacter string|null Символ, используемый для экранирования специальных символов в условиях LIKE. yii\db\QueryBuilder
$likeEscapingReplacements array Карта символов для их замены в условиях LIKE. yii\db\mssql\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\mssql\QueryBuilder
addCommentOnTable() Создаёт SQL-команду для добавления комментария к таблице yii\db\mssql\QueryBuilder
addForeignKey() Создаёт SQL-запрос для добавления внешнего ключа к существующей таблице. yii\db\QueryBuilder
addPrimaryKey() Создаёт SQL-запрос для добавления первичного ключа к существующей таблице. yii\db\QueryBuilder
alterColumn() Создаёт SQL-запрос для изменения определения столбца. yii\db\mssql\QueryBuilder
batchInsert() Генерирует SQL-запрос для пакетной вставки. yii\db\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() Строит фрагменты ORDER BY и LIMIT/OFFSET и добавляет их к заданному SQL. yii\db\mssql\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\mssql\QueryBuilder
className() Возвращает полное имя этого класса. yii\base\Object
createIndex() Создаёт SQL-запрос для создания нового индекса. yii\db\QueryBuilder
createTable() Создаёт SQL-запрос для создания новой таблицы БД. yii\db\QueryBuilder
delete() Создаёт SQL-запрос DELETE. yii\db\QueryBuilder
dropColumn() Создаёт SQL-запрос для удаления столбца БД. yii\db\QueryBuilder
dropCommentFromColumn() Создаёт SQL-команду для добавления комментария к столбцу yii\db\mssql\QueryBuilder
dropCommentFromTable() Создаёт SQL-команду для добавления комментария к таблице yii\db\mssql\QueryBuilder
dropForeignKey() Создаёт SQL-запрос для удаления внешнего ключа. yii\db\QueryBuilder
dropIndex() Создаёт SQL-запрос для удаления индекса. yii\db\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() Создаёт оператор INSERT SQL. yii\db\mssql\QueryBuilder
renameColumn() Строит оператор SQL для переименования столбца. yii\db\mssql\QueryBuilder
renameTable() Строит оператор SQL для переименования таблицы БД. yii\db\mssql\QueryBuilder
resetSequence() Создаёт оператор SQL для сброса значения последовательности первичного ключа таблицы. yii\db\mssql\QueryBuilder
selectExists() Создаёт оператор SELECT EXISTS() SQL. yii\db\mssql\QueryBuilder
truncateTable() Строит оператор SQL для обнуления таблицы БД. yii\db\QueryBuilder
update() Создаёт оператор UPDATE SQL. yii\db\mssql\QueryBuilder

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

Метод Описание Определено в
buildCompositeInCondition() Строит SQL для условия IN yii\db\mssql\QueryBuilder
buildSubqueryInCondition() Строит SQL для условия IN yii\db\mssql\QueryBuilder
getAllColumnNames() Возвращает массив имён столбцов для заданного имени модели yii\db\mssql\QueryBuilder
hasLimit() Проверяет, действует ли заданный лимит. yii\db\QueryBuilder
hasOffset() Проверяет, действует ли заданный смещение. yii\db\QueryBuilder
isOldMssql() yii\db\mssql\QueryBuilder
newBuildOrderByAndLimit() Строит предложения ORDER BY/LIMIT/OFFSET для SQL SERVER 2012 или более новых версий. yii\db\mssql\QueryBuilder
oldBuildOrderByAndLimit() Строит предложения ORDER BY/LIMIT/OFFSET для SQL SERVER 2005-2008. yii\db\mssql\QueryBuilder
prepareInsertSelectSubQuery() Подготовка select-подзапроса и имён полей для INSERT INTO. yii\db\QueryBuilder

Константы

Константа Значение Описание Определено в
PARAM_PREFIX ':qp' Префикс для автоматически сгенерированных параметров связывания запросов. yii\db\QueryBuilder

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

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

Отображение символов и их замен в условиях LIKE. По умолчанию оно настроено на экранирование %, _ и \ с \.

protected array $likeEscapingReplacements = ['%' => '[%]', '_' => '[_]', '[' => '[[]', ']' => '[]]', '\\' => '[\\]']

$typeMap общедоступное свойство

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

public array $typeMap = [\yii\db\mssql\Schema::TYPE_PK => 'int IDENTITY PRIMARY KEY', \yii\db\mssql\Schema::TYPE_UPK => 'int IDENTITY PRIMARY KEY', \yii\db\mssql\Schema::TYPE_BIGPK => 'bigint IDENTITY PRIMARY KEY', \yii\db\mssql\Schema::TYPE_UBIGPK => 'bigint IDENTITY PRIMARY KEY', \yii\db\mssql\Schema::TYPE_CHAR => 'nchar(1)', \yii\db\mssql\Schema::TYPE_STRING => 'nvarchar(255)', \yii\db\mssql\Schema::TYPE_TEXT => 'nvarchar(max)', \yii\db\mssql\Schema::TYPE_SMALLINT => 'smallint', \yii\db\mssql\Schema::TYPE_INTEGER => 'int', \yii\db\mssql\Schema::TYPE_BIGINT => 'bigint', \yii\db\mssql\Schema::TYPE_FLOAT => 'float', \yii\db\mssql\Schema::TYPE_DOUBLE => 'float', \yii\db\mssql\Schema::TYPE_DECIMAL => 'decimal(18,0)', \yii\db\mssql\Schema::TYPE_DATETIME => 'datetime', \yii\db\mssql\Schema::TYPE_TIMESTAMP => 'datetime', \yii\db\mssql\Schema::TYPE_TIME => 'time', \yii\db\mssql\Schema::TYPE_DATE => 'date', \yii\db\mssql\Schema::TYPE_BINARY => 'varbinary(max)', \yii\db\mssql\Schema::TYPE_BOOLEAN => 'bit', \yii\db\mssql\Schema::TYPE_MONEY => 'decimal(19,4)']

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

addCommentOnColumn() public method (available since version 2.0.8)

Создаёт SQL-команду для добавления комментария к столбцу

public string addCommentOnColumn ( $table, $column, $comment )
$table string

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

$column string

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

$comment string

Текст комментария, который нужно добавить. Комментарий будет корректно обрамлён кавычками.

return string

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

addCommentOnTable() public method (available since version 2.0.8)

Создаёт SQL-команду для добавления комментария к таблице

public string addCommentOnTable ( $table, $comment )
$table string

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

$comment string

Текст комментария, который нужно добавить. Комментарий будет корректно обрамлён кавычками.

return string

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

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'.

return string

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

buildCompositeInCondition() protected method

Строит SQL для условия IN

protected string buildCompositeInCondition ( $operator, $columns, $values, &$params )
$operator string
$columns array
$values array
$params array
return string

SQL

buildOrderByAndLimit() public method

Строит фрагменты ORDER BY и LIMIT/OFFSET и добавляет их к заданному SQL-запросу.

public string buildOrderByAndLimit ( $sql, $orderBy, $limit, $offset )
$sql string

Существующий SQL-запрос (без ORDER BY/LIMIT/OFFSET)

$orderBy array

Столбцы сортировки. Смотрите \yii\db\mssql\Query::orderBy для получения более подробной информации об указании этого параметра.

$limit integer

Число элементов для ограничения. Смотрите \yii\db\mssql\Query::limit для получения более подробной информации.

$offset integer

Смещение. Смотрите \yii\db\mssql\Query::offset для получения более подробной информации.

return string

SQL-запрос, дополненный ORDER BY/LIMIT/OFFSET (если таковые имеются)

buildSubqueryInCondition() protected method

Строит SQL для условия IN

protected string buildSubqueryInCondition ( $operator, $columns, $values, &$params )
$operator string
$columns array
$values yii\db\Query
$params array
return string

SQL

throws yii\base\NotSupportedException

если $columns является массивом

checkIntegrity() public method

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

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

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

$schema string

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

$table string

Имя таблицы.

return string

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

dropCommentFromColumn() public method (available since version 2.0.8)

Создаёт SQL-команду для удаления комментария из столбца

public string dropCommentFromColumn ( $table, $column )
$table string

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

$column string

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

return string

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

dropCommentFromTable() public method (available since version 2.0.8)

Создаёт SQL-команду для удаления комментария из таблицы

public string dropCommentFromTable ( $table )
$table string

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

return string

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

getAllColumnNames() protected method

Возвращает массив имён столбцов, заданных именем модели

protected array|null getAllColumnNames ( $modelClass = null )
$modelClass string

Имя класса модели

return array|null

Массив имён столбцов

insert() public method

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

Например,

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

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

public строка insert ( $table, $columns, &$params )
$table строка

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

$columns массив|yii\db\Query

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

$params массив

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

return строка

SQL-запрос INSERT

isOldMssql() защищённый метод

protected булево isOldMssql ( )
return булево

Указывает, является ли используемая версия MSSQL старше 2012 года.

throws yii\base\InvalidConfigException
throws yii\db\Exception

newBuildOrderByAndLimit() защищённый метод

Создаёт предложения ORDER BY/LIMIT/OFFSET для SQL SERVER 2012 или более поздних версий.

protected строка newBuildOrderByAndLimit ( $sql, $orderBy, $limit, $offset )
$sql строка

Существующий SQL (без ORDER BY/LIMIT/OFFSET)

$orderBy массив

Столбцы сортировки. Подробнее о способах задания этого параметра см. в yii\db\Query::orderBy().

$limit целое число

Число ограничений. Подробнее см. в yii\db\Query::limit().

$offset целое число

Число смещения. Подробнее см. в yii\db\Query::offset().

return строка

SQL с добавленными ORDER BY/LIMIT/OFFSET (если необходимо)

oldBuildOrderByAndLimit() защищённый метод

Создаёт предложения ORDER BY/LIMIT/OFFSET для SQL SERVER 2005–2008.

protected строка oldBuildOrderByAndLimit ( $sql, $orderBy, $limit, $offset )
$sql строка

Существующий SQL (без ORDER BY/LIMIT/OFFSET)

$orderBy массив

Столбцы сортировки. Подробнее о способах задания этого параметра см. в yii\db\Query::orderBy().

$limit целое число

Число ограничений. Подробнее см. в yii\db\Query::limit().

$offset целое число

Число смещения. Подробнее см. в yii\db\Query::offset().

return строка

SQL с добавленными ORDER BY/LIMIT/OFFSET (если необходимо)

renameColumn() public метод

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

public строка renameColumn ( $table, $oldName, $newName )
$table строка

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

$oldName строка

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

$newName строка

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

return строка

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

renameTable() public метод

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

public строка renameTable ( $oldName, $newName )
$oldName строка

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

$newName строка

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

return строка

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

resetSequence() public метод

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

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

public строка resetSequence ( $tableName, $value = null )
$tableName строка

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

$value смешанный тип

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

return строка

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

throws yii\base\InvalidParamException

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

selectExists() public метод (доступен начиная с версии 2.0.8)

Создаёт SQL-запрос SELECT EXISTS().

public строка selectExists ( $rawSql )
$rawSql строка

Вложенный запрос в сыром виде для выбора из.

return строка

SQL-запрос SELECT EXISTS().

update() public метод

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

Например,

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

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

public строка update ( $table, $columns, $condition, &$params )
$table строка

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

$columns массив

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

$condition массив|строка

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

$params массив

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

return строка

SQL-запрос UPDATE

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

Spec-Zone.ru

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