thinkphp事务问题,

xxx织梦者
  • 1.9k

$c=M('customer');
$result=$c->add($data);

$o=M('order');
$result2=$o->add($data2);

$c->startTrans();//在第一个模型里启用就可以了,或者第二个$o也行

if($result && $result2){
$c->commit();//成功则提交哦啊
//问题在这里,这里写不写$o->commit();不写的话是根据上面$c->startTrans();这里写的是$c的原因吗
}else{
$c->rollback();//不成功,回滚
//问题在这里,这里写不写$o->rollback();
}

回复
阅读 6.5k
3 个回答

折叠我吧,我揣摩了半天也没能看懂

clipboard.png

仔细去学习这个类文件,弄明白了M、D、Model等一些列机制,你就明白了,

结果是:

事务跟你实例化是的表没有关系

这里你可以使用


$c->startTrans();
...
$c->commit();

也可以使用

$o->startTrans();
...
$o->commit();

只要保持一致就ok

宣传栏