Qiang добавил поддержку вложенных транзакций через savepoint-ы:
// верхняя транзакция $transaction1 = $connection->beginTransaction(); try { $connection->createCommand($sql1)->execute(); // внутренняя транзакция $transaction2 = $connection->beginTransaction(); try { $connection->createCommand($sql2)->execute(); $transaction2->commit(); } catch (Exception $e) { $transaction2->rollBack(); } $transaction1->commit(); } catch (Exception $e) { $transaction1->rollBack(); }