Spec-Zone.ru › Yii 2.0

Класс yii\db\Command

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

Command представляет SQL-запрос, который будет выполнен над базой данных.

Объект команды обычно создается с помощью вызова yii\db\Connection::createCommand(). Представленный им SQL-запрос может быть задан через свойство $sql.

Для выполнения SQL-запроса, не возвращающего набор результатов (таких как INSERT, DELETE, UPDATE), вызовите execute(). Для выполнения SQL-запроса, возвращающего набор результатов (таких как SELECT), используйте queryAll(), queryOne(), queryColumn(), queryScalar() или query().

Например,

$users = $connection->createCommand('SELECT * FROM user')->queryAll();

Command поддерживает подготовку SQL-запросов и привязку параметров. Используйте bindValue() для привязки значения к SQL-параметру; Используйте bindParam() для привязки PHP-переменной к SQL-параметру. При привязке параметра SQL-запрос автоматически подготавливается. Вы также можете явно вызвать prepare() для подготовки SQL-запроса.

Command также поддерживает построение SQL-запросов, предоставляя методы, такие как insert(), update() и т. д. Например, следующий код создаст и выполнит SQL-запрос INSERT:

$connection->createCommand()->insert('user', [
    'name' => 'Sam',
    'age' => 30,
])->execute();

Для построения SELECT SQL-запросов, пожалуйста, используйте yii\db\Query вместо этого.

Для более подробной информации и инструкций по использованию Command, ознакомьтесь со статьей руководства по объектам доступа к базе данных.

Свойства

Свойство Тип Описание Определено в
$behaviors yii\base\Behavior[] Список присоединенных к этому компоненту поведений yii\base\Component
$db yii\db\Connection Подключение к БД, с которым связана эта команда yii\db\Command
$fetchMode integer Режим извлечения по умолчанию для этой команды. yii\db\Command
$params array Параметры (имя => значение), привязанные к текущему PDO-запросу. yii\db\Command
$pdoStatement PDOStatement Объект PDOStatement, с которым связана эта команда yii\db\Command
$queryCacheDependency yii\caching\Dependency Зависимость, которая будет ассоциирована с результатом кэшированного запроса для этой команды yii\db\Command
$queryCacheDuration integer Количество секунд, в течение которого результаты запроса могут храниться в кэше по умолчанию. yii\db\Command
$rawSql string Необработанный SQL-запрос с параметрами, вставленными в соответствующие места в $sql. yii\db\Command
$sql string SQL-запрос, который будет выполнен yii\db\Command

Методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Component
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в значение null. yii\base\Component
addColumn() Создает SQL-команду для добавления нового столбца DB. yii\db\Command
addCommentOnColumn() Создает SQL-команду для добавления комментария к столбцу. yii\db\Command
addCommentOnTable() Создает SQL-команду для добавления комментария к таблице. yii\db\Command
addForeignKey() Создает SQL-команду для добавления внешнего ключа к существующей таблице. yii\db\Command
addPrimaryKey() Создает SQL-команду для добавления первичного ключа к существующей таблице. yii\db\Command
alterColumn() Создает SQL-команду для изменения определения столбца. yii\db\Command
attachBehavior() Присоединяет поведение к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
batchInsert() Создает пакетную команду INSERT. yii\db\Command
behaviors() Возвращает список поведений, по которым должен вести себя этот компонент. yii\base\Component
bindParam() Связывает параметр с SQL-запросом, который будет выполнен. yii\db\Command
bindValue() Связывает значение с параметром. yii\db\Command
bindValues() Связывает список значений с соответствующими параметрами. yii\db\Command
cache() Включает кэширование запросов для этой команды. yii\db\Command
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Component
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Component
cancel() Отменяет выполнение SQL-запроса. yii\db\Command
checkIntegrity() Создает SQL-команду для включения или отключения проверки целостности. yii\db\Command
className() Возвращает полное имя этого класса. yii\base\Object
createIndex() Создает SQL-команду для создания нового индекса. yii\db\Command
createTable() Создает SQL-команду для создания новой DB таблицы. yii\db\Command
delete() Создает команду DELETE. yii\db\Command
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
dropColumn() Создает SQL-команду для удаления столбца DB. yii\db\Command
dropCommentFromColumn() Создает SQL-команду для удаления комментария из столбца. yii\db\Command
dropCommentFromTable() Создает SQL-команду для удаления комментария из таблицы. yii\db\Command
dropForeignKey() Создает SQL-команду для удаления внешнего ключа. yii\db\Command
dropIndex() Создает SQL-команду для удаления индекса. yii\db\Command
dropPrimaryKey() Создает SQL-команду для удаления первичного ключа из существующей таблицы. yii\db\Command
dropTable() Создает SQL-команду для удаления DB таблицы. yii\db\Command
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
execute() Выполняет SQL-запрос. yii\db\Command
getBehavior() Возвращает объект поведения с указанным именем. yii\base\Component
getBehaviors() Возвращает все поведения, присоединенные к этому компоненту. yii\base\Component
getRawSql() Возвращает исходный SQL, подставляя значения параметров в соответствующие заглушки в $sql. yii\db\Command
getSql() Возвращает SQL-запрос для этой команды. yii\db\Command
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
init() Инициализирует объект. yii\base\Object
insert() Создает команду INSERT. yii\db\Command
noCache() Отключает кэширование запросов для этой команды. yii\db\Command
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
prepare() Подготавливает SQL-запрос для выполнения. yii\db\Command
query() Выполняет SQL-запрос и возвращает результат запроса. yii\db\Command
queryAll() Выполняет SQL-запрос и возвращает ВСЕ строки сразу. yii\db\Command
queryColumn() Выполняет SQL-запрос и возвращает первый столбец результата. yii\db\Command
queryOne() Выполняет SQL-запрос и возвращает первую строку результата. yii\db\Command
queryScalar() Выполняет SQL-запрос и возвращает значение первого столбца в первой строке данных. yii\db\Command
renameColumn() Создает SQL-команду для переименования столбца. yii\db\Command
renameTable() Создает SQL-команду для переименования таблицы БД. yii\db\Command
resetSequence() Создает SQL-команду для сброса значения последовательности первичного ключа таблицы. yii\db\Command
setSql() Указывает SQL-запрос, который необходимо выполнить. yii\db\Command
trigger() Вызывает событие. yii\base\Component
truncateTable() Создает SQL-команду для усечения таблицы БД. yii\db\Command
update() Создает команду UPDATE. yii\db\Command

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

Метод Описание Определено в
bindPendingParams() Связывает ожидаемые параметры, которые были зарегистрированы с помощью bindValue() и bindValues(). yii\db\Command
queryInternal() Выполняет фактический запрос к БД для SQL-запроса. yii\db\Command
refreshTableSchema() Обновляет схему таблицы, которая была помечена с помощью requireTableSchemaRefresh() yii\db\Command
requireTableSchemaRefresh() Помечает указанную схему таблицы для обновления после выполнения команды. yii\db\Command

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

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

Подключение к БД, с которым связана эта команда.

public yii\db\Connection $db = null

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

Режим извлечения по умолчанию для этой команды.

См. также http://www.php.net/manual/en/pdostatement.setfetchmode.php.

public integer $fetchMode = \PDO::FETCH_ASSOC

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

Параметры (имя => значение), привязанные к текущему PDO-запросу. Это свойство поддерживается методами, такими как bindValue(). Оно в основном предназначено для ведения журнала и используется для генерации $rawSql. Не изменяйте его напрямую.

public array $params = []

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

Объект PDOStatement, связанный с этой командой

public PDOStatement $pdoStatement = null

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

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

См. также cache().

public yii\caching\Dependency $queryCacheDependency = null

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

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

См. также cache().

public integer $queryCacheDuration = null

$rawSql общедоступное только для чтения свойство

Необработанный SQL с параметрами, вставленными в соответствующие заполнительные места в $sql.

public string getRawSql ( )

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

SQL-запрос, который должен быть выполнен

public string getSql ( )
public $this setSql ( $sql )

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

addColumn() public method

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

public $this addColumn ( $table, $column, $type )
$table string

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

$column string

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

$type string

Тип столбца. Метод yii\db\QueryBuilder::getColumnType() будет вызван для преобразования заданного типа столбца в физический. Например, string будет преобразован в varchar(255), а string not null в varchar(255) not null.

return $this

Объект команды.

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

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

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

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

$column string

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

$comment string

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

return $this

Объект команды.

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

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

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

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

$comment string

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

return $this

Объект команды.

addForeignKey() public method

Создаёт SQL-команду для добавления ограничения внешнего ключа к существующей таблице.

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

public $this addForeignKey ( $name, $table, $columns, $refTable, $refColumns, $delete = null, $update = null )
$name string

Имя ограничения внешнего ключа.

$table string

Таблица, к которой добавляется ограничение внешнего ключа.

$columns string|array

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

$refTable string

Таблица, на которую ссылается внешний ключ.

$refColumns string|array

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

$delete string

Параметр ON DELETE. Большинство СУБД поддерживают эти значения: RESTRICT, CASCADE, NO ACTION, SET DEFAULT, SET NULL.

$update string

Параметр ON UPDATE. Большинство СУБД поддерживают эти значения: RESTRICT, CASCADE, NO ACTION, SET DEFAULT, SET NULL.

return $this

Объект команды.

addPrimaryKey() public method

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

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

public $this addPrimaryKey ( $name, $table, $columns )
$name string

Имя ограничения первичного ключа.

$table string

Таблица, к которой добавляется ограничение первичного ключа.

$columns string|array

Строка со столбцами, разделёнными запятыми, или массив столбцов, из которых состоит первичный ключ.

return $this

Объект команды.

alterColumn() public method

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

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

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

$column string

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

$type string

Тип столбца. Метод yii\db\QueryBuilder::getColumnType() будет вызван для преобразования заданного типа столбца в физический. Например, string будет преобразован в varchar(255), а string not null в varchar(255) not null.

return $this

Объект команды.

batchInsert() public method

Создаёт команду пакетного вставки.

Например,

$connection->createCommand()->batchInsert('user', ['name', 'age'], [
    ['Tom', 30],
    ['Jane', 20],
    ['Linda', 25],
])->execute();

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

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

Также обратите внимание, что созданная команда не выполняется до тех пор, пока не будет вызван метод execute().

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

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

$columns array

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

$rows array

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

return $this

Объект команды.

bindParam() public method

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

См. также http://www.php.net/manual/en/function.PDOStatement-bindParam.php.

public $this bindParam ( $name, &$value, $dataType = null, $length = null, $driverOptions = null )
$name string|integer

Идентификатор параметра. Для подготовленного оператора с именованными плейсхолдерами, это будет имя параметра в формате :name. Для подготовленного оператора с вопросительными знаками в качестве плейсхолдеров, это будет индекс параметра (с 1).

$value mixed

Переменная PHP, которая привязывается к параметру SQL-заявления (передаётся по ссылке).

$dataType integer

Тип данных SQL для параметра. Если null, тип определяется типом значения PHP.

$length integer

Длина типа данных.

$driverOptions mixed

Драйвер-специфические опции.

return $this

Выполняемая команда.

bindPendingParams() protected method

Связывает ожидаемые параметры, которые были зарегистрированы с помощью bindValue() и bindValues().

Обратите внимание, что этому методу требуется активный $pdoStatement.

protected void bindPendingParams ( )

bindValue() общедоступный метод

Связывает значение с параметром.

См. также http://www.php.net/manual/en/function.PDOStatement-bindValue.php.

общедоступный $this bindValue ( $name, $value, $dataType = null )
$name строка|целое число

Идентификатор параметра. Для подготовленного оператора с именованными плейсхолдерами, это будет имя параметра в формате :name. Для подготовленного оператора с плейсхолдерами в виде знака вопроса, это будет индекс параметра (от 1).

$value смешанный

Значение, которое будет связано с параметром.

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

SQL тип данных параметра. Если null, тип определяется типом значения PHP.

возвращает $this

Текущая команда, которая выполняется

bindValues() общедоступный метод

Связывает список значений с соответствующими параметрами.

Это аналогично bindValue(), за исключением того, что оно связывает несколько значений одновременно. Обратите внимание, что тип SQL данных каждого значения определяется типом PHP.

общедоступный $this bindValues ( $values )
$values массив

Значения, которые будут связаны. Это должен быть ассоциативный массив, где ключи массива — имена параметров, а значения массива — соответствующие значения параметров, например [':name' => 'John', ':age' => 25]. По умолчанию тип PDO каждого значения определяется его типом PHP. Вы можете явно указать тип PDO, используя массив: [value, type], например [':name' => 'John', ':profile' => [$profile, \PDO::PARAM_LOB]].

возвращает $this

Текущая команда, которая выполняется

cache() общедоступный метод

Включает кэширование запросов для этой команды.

общедоступный $this cache ( $duration = null, $dependency = null )
$duration целое число

Количество секунд, в течение которых результат запроса этой команды может оставаться действительным в кэше. Если это не задано, используется значение yii\db\Connection::$queryCacheDuration. Используйте 0, чтобы указать, что кэшированные данные никогда не истекают.

$dependency yii\caching\Dependency

Зависимость кэша, связанная с кэшированным результатом запроса.

возвращает $this

Объект команды

cancel() общедоступный метод

Отменяет выполнение SQL-запроса.

Этот метод главным образом устанавливает $pdoStatement в значение null.

общедоступный void cancel ( )

checkIntegrity() общедоступный метод

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

общедоступный $this checkIntegrity ( $check = true, $schema = '', $table = '' )
$check булево

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

$schema строка

Имя схемы таблиц. По умолчанию пустая строка, что означает текущую или стандартную схему.

$table строка

Имя таблицы.

возвращает $this

Объект команды

вызывает исключение yii\base\NotSupportedException

если это не поддерживается используемой СУБД

createIndex() общедоступный метод

Создаёт SQL команду для создания нового индекса.

общедоступный $this createIndex ( $name, $table, $columns, $unique = false )
$name строка

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

$table строка

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

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

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

$unique булево

Добавить ограничение UNIQUE к созданному индексу?

возвращает $this

Объект команды

createTable() общедоступный метод

Создаёт SQL команду для создания новой таблицы БД.

Столбцы новой таблицы должны быть заданы в виде пар имя-определение (например, 'name' => 'string'), где имя — имя столбца, которое будет корректно обрамлено кавычками методом, а определение — тип столбца, который может содержать абстрактный тип БД. Метод yii\db\QueryBuilder::getColumnType() будет вызван для преобразования абстрактных типов столбцов в физические. Например, string будет преобразовано в varchar(255), а string not null в varchar(255) not null.

Если столбец задан только определением (например, 'PRIMARY KEY (name, type)'), он будет непосредственно вставлен в сгенерированный SQL.

общедоступный $this createTable ( $table, $columns, $options = null )
$table строка

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

$columns массив

Столбцы (имя => определение) в новой таблице.

$options строка

Дополнительный фрагмент SQL, который будет добавлен к сгенерированному SQL.

возвращает $this

Объект команды

delete() общедоступный метод

Создаёт команду DELETE.

Например,

$connection->createCommand()->delete('user', 'status = 0')->execute();

или с использованием привязки параметров для условия:

$status = 0;
$connection->createCommand()->delete('user', 'status = :status', [':status' => $status])->execute();

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

Обратите внимание, что созданная команда не выполняется, пока не будет вызван метод execute().

общедоступный $this delete ( $table, $condition = '', $params = [] )
$table строка

Таблица, из которой будут удалены данные.

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

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

$params массив

Параметры, которые будут связаны с командой.

возвращает $this

Объект команды

dropColumn() общедоступный метод

Создаёт SQL команду для удаления столбца БД.

общедоступный $this dropColumn ( $table, $column )
$table строка

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

$column строка

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

возвращает $this

Объект команды

dropCommentFromColumn() общедоступный метод (доступен начиная с версии 2.0.8)

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

общедоступный $this dropCommentFromColumn ( $table, $column )
$table строка

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

$column строка

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

возвращает $this

Объект команды

dropCommentFromTable() общедоступный метод (доступен с версии 2.0.8)

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

общедоступный $this dropCommentFromTable ( $table )
$table строка

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

возврат $this

Сам объект команды

dropForeignKey() общедоступный метод

Создаёт SQL-команду для удаления ограничения внешнего ключа.

общедоступный $this dropForeignKey ( $name, $table )
$name строка

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

$table строка

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

возврат $this

Сам объект команды

dropIndex() общедоступный метод

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

общедоступный $this dropIndex ( $name, $table )
$name строка

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

$table строка

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

возврат $this

Сам объект команды

dropPrimaryKey() общедоступный метод

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

общедоступный $this dropPrimaryKey ( $name, $table )
$name строка

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

$table строка

Таблица, из которой нужно удалить ограничение первичного ключа.

возврат $this

Сам объект команды

dropTable() общедоступный метод

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

общедоступный $this dropTable ( $table )
$table строка

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

возврат $this

Сам объект команды

execute() общедоступный метод

Выполняет SQL-запрос.

Этот метод следует использовать только для выполнения SQL-запросов, не возвращающих результат, таких как INSERT, DELETE, UPDATE SQL-запросы. Результат запроса не будет возвращён.

общедоступный целое число execute ( )
возврат целое число

Количество строк, затронутых выполнением.

выбрасывает yii\db\Exception

выполнение не удалось

getRawSql() общедоступный метод

Возвращает исходный SQL-запрос, подставив значения параметров в соответствующие заполнитель в $sql.

Обратите внимание, что возвращаемое значение этого метода следует использовать в основном для целей ведения журнала. Вероятно, этот метод вернёт некорректный SQL-запрос из-за неправильной замены параметров.

общедоступный строка getRawSql ( )
возврат строка

Исходный SQL-запрос со значениями параметров, вставленными в соответствующие заполнитель в $sql.

getSql() общедоступный метод

Возвращает SQL-запрос для этой команды.

общедоступный строка getSql ( )
возврат строка

SQL-запрос, который нужно выполнить

insert() общедоступный метод

Создаёт команду INSERT.

Например,

$connection->createCommand()->insert('user', [
    'name' => 'Sam',
    'age' => 30,
])->execute();

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

Обратите внимание, что созданная команда не будет выполнена до тех пор, пока не будет вызван метод execute().

общедоступный $this insert ( $table, $columns )
$table строка

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

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

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

возврат $this

Сам объект команды

noCache() общедоступный метод

Отключает кэширование запросов для этой команды.

общедоступный $this noCache ( )
возврат $this

Сам объект команды

prepare() общедоступный метод

Подготавливает SQL-запрос к выполнению.

Для сложных SQL-запросов, которые должны выполняться многократно, это может улучшить производительность. Для SQL-запросов с параметрами связывания этот метод вызывается автоматически.

общедоступный void prepare ( $forRead = null )
$forRead булево

Является ли этот метод вызываемым для запроса чтения. Если null, это означает, что SQL-запрос должен использоваться для определения, является ли он для чтения или записи.

выбрасывает yii\db\Exception

если есть ошибка БД

query() общедоступный метод

Выполняет SQL-запрос и возвращает результат запроса.

Этот метод предназначен для выполнения SQL-запроса, который возвращает набор результатов, например SELECT.

общедоступный yii\db\DataReader query ( )
возврат yii\db\DataReader

Объект для извлечения результата запроса

выбрасывает yii\db\Exception

выполнение не удалось

queryAll() общедоступный метод

Выполняет SQL-запрос и возвращает ВСЕ строки сразу.

общедоступный массив queryAll ( $fetchMode = null )
$fetchMode целое число

Режим извлечения результата. Обратитесь к документации PHP для допустимых режимов извлечения. Если этот параметр равен null, используется значение, заданное в $fetchMode.

возврат массив

Все строки результата запроса. Каждый элемент массива — это массив, представляющий строку данных. Если запрос ничего не вернул, возвращается пустой массив.

выбрасывает yii\db\Exception

выполнение не удалось

queryColumn() общедоступный метод

Выполняет SQL-запрос и возвращает первый столбец результата.

Этот метод лучше всего использовать, когда для запроса нужен только первый столбец результата (т.е. первый элемент в каждой строке).

общедоступный массив queryColumn ( )
возврат массив

Первый столбец результата запроса. Если запрос ничего не возвращает, возвращается пустой массив.

выбрасывает yii\db\Exception

выполнение не удалось

queryInternal() защищённый метод (доступен с версии 2.0.1)

Выполняет фактический запрос к БД SQL-запроса.

protected mixed queryInternal ( $method, $fetchMode = null )
$method строка

Метод PDOStatement, который нужно вызвать

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

Режим извлечения результатов. Обратитесь к руководству PHP для допустимых режимов извлечения. Если этот параметр равен null, будет использовано значение, заданное в $fetchMode.

return mixed

Результат выполнения метода

throws yii\db\Exception

если запрос вызывает какие-либо проблемы

queryOne() public method

Выполняет SQL-запрос и возвращает первую строку результата.

Этот метод лучше всего использовать, когда для запроса нужна только первая строка результата.

public массив|false queryOne ( $fetchMode = null )
$fetchMode целое число

Режим извлечения результатов. Обратитесь к руководству PHP для допустимых режимов извлечения. Если этот параметр равен null, будет использовано значение, заданное в $fetchMode.

return массив|false

Первая строка (в виде массива) результата запроса. Возвращает false, если запрос не дал результатов.

throws yii\db\Exception

ошибка выполнения

queryScalar() public method

Выполняет SQL-запрос и возвращает значение первой колонки в первой строке данных.

Этот метод лучше всего использовать, когда для запроса нужно только одно значение.

public строка|null|false queryScalar ( )
return строка|null|false

Значение первой колонки в первой строке результата запроса. Возвращает false, если значение отсутствует.

throws yii\db\Exception

ошибка выполнения

refreshTableSchema() protected method (доступно с версии 2.0.6)

Обновляет схему таблицы, которая была помечена методом requireTableSchemaRefresh()

protected void refreshTableSchema ( )

renameColumn() public method

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

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

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

$oldName строка

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

$newName строка

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

return $this

Сам объект команды

renameTable() public method

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

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

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

$newName строка

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

return $this

Сам объект команды

requireTableSchemaRefresh() protected method (доступно с версии 2.0.6)

Помечает схему указанной таблицы для обновления после выполнения команды.

protected $this requireTableSchemaRefresh ( $name )
$name строка

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

return $this

Этот экземпляр команды

resetSequence() public method

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

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

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

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

$value mixed

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

return $this

Сам объект команды

throws yii\base\NotSupportedException

если это не поддерживается основой СУБД

setSql() public method

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

Предыдущее выполнение SQL (если таковое имело место) будет отменено, а $params также будет очищен.

public $this setSql ( $sql )
$sql строка

SQL-запрос, который нужно установить.

return $this

Этот экземпляр команды

truncateTable() public method

Создает SQL-команду для обнуления таблицы БД.

public $this truncateTable ( $table )
$table строка

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

return $this

Сам объект команды

update() public method

Создает команду UPDATE.

Например,

$connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();

или с использованием привязки параметров для условия:

$minAge = 30;
$connection->createCommand()->update('user', ['status' => 1], 'age > :minAge', [':minAge' => $minAge])->execute();

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

Обратите внимание, что созданная команда не выполняется до вызова execute().

public $this update ( $table, $columns, $condition = '', $params = [] )
$table строка

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

$columns массив

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

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

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

$params массив

Параметры, которые нужно привязать к команде

return $this

Сам объект команды

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

Spec-Zone.ru

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