Класс 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() будет вызван для преобразования заданного типа столбца в физический. Например, |
| 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() будет вызван для преобразования заданного типа столбца в физический. Например, |
| 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 |
Идентификатор параметра. Для подготовленного оператора с именованными плейсхолдерами, это будет имя параметра в формате |
| $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 | строка|целое число |
Идентификатор параметра. Для подготовленного оператора с именованными плейсхолдерами, это будет имя параметра в формате |
| $value | смешанный |
Значение, которое будет связано с параметром. |
| $dataType | целое число |
SQL тип данных параметра. Если null, тип определяется типом значения PHP. |
| возвращает | $this |
Текущая команда, которая выполняется |
bindValues() общедоступный метод
Связывает список значений с соответствующими параметрами.
Это аналогично bindValue(), за исключением того, что оно связывает несколько значений одновременно. Обратите внимание, что тип SQL данных каждого значения определяется типом PHP.
| общедоступный $this bindValues ( $values ) | ||
|---|---|---|
| $values | массив |
Значения, которые будут связаны. Это должен быть ассоциативный массив, где ключи массива — имена параметров, а значения массива — соответствующие значения параметров, например |
| возвращает | $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