Yii2.0 – 事务处理
     发布在:PHP      浏览:64      评论:0 条评论

在进行多表增删改的时候,为了确保多表数据的一致性,我们经常要用到事务处理

下面是Yii2的事务处理

$examine = $this -> findModel($examine_id); // 获取examine模型
$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 -> getMessage()); // 打印报错信息
}

总结起来就这么多

$transaction = Yii::$app -> db -> beginTransaction(); // 开始事务
$transaction -> commit(); // 提交事务
$transaction -> rollback(); // 事务回滚
try {  } catch (\Exception $e) {  }  // 异常处理
    Responses