Допустим нам необходимо вставить новую запись с названием "My Product 0001" в таблицу product или обновить поле visits, если запись уже существует. Поле name - уникальное, именно по полю name метод upsert поймет существует ли запись для обновляния или нужно ее добавлять.
upsert($table, $insertColumns, $updateColumns = true, $params = [])
Upsert и QueryBuilder:
$sql = $queryBuilder->upsert('product', [
'name' => 'My Product 0001', //уникальное поле
'visibility' => 1,
'visits' => 1
],
[
'visits' => new \yii\db\Expression('visits + 1'),
],
[]
);
Upsert и createCommand:
Yii::$app->db->createCommand()->upsert('pages',
[
'name' => 'My Product 0001', //уникальное поле
'visibility' => 1,
'visits'
], [
'visits' => new \yii\db\Expression('visits + 1'),
],
[])->execute();
devreadwrite.com



Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
Комментарии отсутствуют, Вы можете быть первым