YII 事务(Transaction)
2016-09-02 本文已影响24人
bycall
在Yii中,使用yii\db\Transaction
来表示数据库事务。
一般情况下,我们从数据库连接启用事务,通常采用如下的形式:
$transaction = $connection->beginTransaction();
try {
$connection->createCommand($sql1)->execute();
$connection->createCommand($sql2)->execute(); // ... executing other SQL statements ...
$transaction->commit();
} catch (Exception $e) {
$transaction->rollBack();
}
在上面的代码中,先是获取一个yii\db\Transaction
对象,之后执行若干SQL 语句,然后调用之前Transaction
对象的commit()
方法。这一过程中, 如果捕获了异常,那么调用rollBack()
进行回滚。