Использование транзакций с AR


$model=Post::model();
$transaction=$model->dbConnection->beginTransaction();
try
{
    // поиск и сохранение — шаги, между которыми могут быть выполнены другие запросы,
    // поэтому мы используем транзакцию, чтобы удостовериться в целостности данных
    $post=$model->findByPk(10);
    $post->title='new post title';
    if($post->save())
        $transaction->commit();
    else
        $transaction->rollback();
}
catch(Exception $e)
{
    $transaction->rollback();
    throw $e;
}