RelationModel的opRelation方法启用事务比较晚,这样没问题么?

浏览:514 发布日期:2014/12/09 分类:求助交流 关键字: 关联模型 事务 回滚
之前用了MANY_TO_MANY的关联模型,因为未手动设置关联数据导致关联表中未插入数据,当时跟了下RelationModel中的opRelation方法,发现$this->startTrans();是这该方法里才执行的。    $User = D('User');
    if($User->relation(true)->create($_POST, 1)){
        $User->roles = I('roles');
        $result = $User->relation(true)->add();
    }
这里有个问题,由于opRelation方法是由_after_insert、_after_update、_after_delete方法调用的,此时$User对应的user表已经成功插入了一条记录,如果opRelation方法执行过程中失败回滚后,user表的数据怎么办?要手动删除么?为什么不在主表添加之前就启用事务呢?
最佳答案
评论() 相关
后面还有条评论,点击查看>>