|
发表于 2014-10-10 14:00:33
|
显示全部楼层
楼主说的很有道理,我把源码这一块看了一下果然有这个坑。
貌似作者在使用$this->db->query()的时候,都会把trans_status调成false,然后后面的事务提交都会失败。
总结一下,可以这么理解:作者把每一个query()执行之前添加了一个$this->db->trans_start()。这样的话,如果query()执行失败,会导致之后页面的事务都执行后回滚。
要解决这个问题的话,其实最好给query()增加一个是否在事务中的判断,本来trans_depth可以实现的,但是trans_depth这个功能并没有完成。 |
|