关于多表事务

浏览:3514 发布日期:2016/01/03 分类:求助交流 关键字: 事务 模型
关于多表事务,通常的做法,都是通过 M 方法实例化一个空模型,再指定不同的表名进行数据库的操作。这个做法的优点在于非常的灵活,弊端就是没有办法使用自动验证、自动完成等高级功能。

所以,想问问@thinkphp 或者是其他的高手:
1. 能否用D方法同时实例化多个模型,并都开启事务,实现多表事务?
2. 这样的实现方法会不会影响性能?$result = false;
$modelA = D('TestA');
$modelB = D('TestB');
$modelA->startTrans();
$modelB->startTrans();

if($modelA->create()) {
    if($modelA->add() {
        if($modelB->create() {
            if($modelB->add() {
                $result = true;
            }
        }
    }
}

if($result === true) {
    $modelA->commit();
    $modelB->commit();
} else {
    $modelA->rollback();
    $modelB->rollback();
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>