子表保存后事务不回滚,主表还是有一条数据,求解,谢谢!
子表保存后事务不回滚,主表还是有一条数据,求解,谢谢!
你的代码逻辑有问题,最终都会调用commit
你应该保证当 $transaction->rollback()
执行之后跳出执行下面的代码
<code>$t = \Yii::$app->db->beginTransaction(); try{ if($orderModel->save()){ ... if(!$re){ throw new Exception('错误信息'); } ... } $t->commit(); }catch(Excetption $e){ $t->rollback(); throw new Exception($e->getMessage()); }</code>
还有看下自己的表的存储引擎是不是InnoDB
你确定代码能运行?
感觉if少了个花括号