как правильно выполнить транзакцию?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Artur_Hopf
Сообщения: 19
Зарегистрирован: 2019.02.28, 11:18

как правильно выполнить транзакцию?

Сообщение Artur_Hopf »

Добрый день. Есть два запроса:

Код: Выделить всё

$sql = Yii::$app->db->createCommand()->delete( 'table', ['id' => $del]);
 
$sql2 = Yii::$app->db->createCommand()->insert('table', [ ... ] );
Подскажите как правильно сделать beginTransaction.
в инструкции есть такой код:

Код: Выделить всё

Yii::$app->db->transaction(function($db) {
    $db->createCommand($sql1)->execute();
    $db->createCommand($sql2)->execute();
    // ... executing other SQL statements ...
});
так не получилось:

Код: Выделить всё

$sql1 = Yii::$app->db->createCommand()->delete( 'table', ['id' => $del]);
$sql2 = Yii::$app->db->createCommand()->insert('table', [  ... ] );
 
Yii::$app->db->transaction(function($db)
{
     $sql1->execute();
     $sql2->execute();
           
     return true;
});
return false;
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: как правильно выполнить транзакцию?

Сообщение ElisDN »

Код: Выделить всё

function() use ($sql1, $sql2) {
     $sql1->execute();
     $sql2->execute();
}
Ответить