Yii使用 AR 处理事务
每个 AR 实例都含有一个属性名叫?dbConnection?,是一个?CDbConnection?的实例,这样我们可以在需要时配合 AR 使用由 Yii DAO 提供的?事务?功能:
?
$model=Post::model();$transaction=$model->dbConnection->beginTransaction();try{ // 查找和保存是可能由另一个请求干预的两个步骤 // 这样我们使用一个事务以确保其一致性和完整性 $post=$model->findByPk(10); $post->title='new post title'; $post->save(); $transaction->commit();}catch(Exception $e){ $transaction->rollBack();}