来源:我的博客站 OceanicKang |《Yii2.0 事务处理》
在进行多表增删改的时候,为了确保多表数据的一致性,我们经常要用到事务处理
下面是Yii2的事务处理
$examine = $this -> findModel($examine_id);
$transaction = Yii::$app -> db -> beginTransaction(); // 开始事务
try {
// 这里写业务逻辑
$result = Product::editProduct($examine -> product_id, $post, 'supplier'); // 更新商品状态
if(!$result) throw new \Exception(); // 更新失败,抛出异常
$transaction -> commit(); // 提交事务
} catch (\Exception $e) {
// 这里进行异常处理
$transaction -> rollback(); // 事务回滚
print_r($e);
}
总结起来就这么多
$transaction = Yii::$app -> db -> beginTransaction(); // 开始事务
$transaction -> commit(); // 提交事务
$transaction -> rollback(); // 事务回滚
try { } catch (\Exception $e) { } // 异常处理