问题:使用事务后正常插入数据表内但是却返回的是失败的提示
可以看见数据表正常插入,但是却返回的失败的提示,直接排查好吧:
1:排查插入回滚的$e
原因:
可以看见我是有返回提示词的,但是现在却没有了,说明回滚出问题
解决方案:直接去看别人的博客,发现跟我的没有任何出入
2:排查是否执行到了回滚
原因:既然不返回值,那我怎么知道你是不是真的执行了呢?
解决方案:直接在回滚上面进行终止
if (!$result) { return 1; DB::rollBack();//错误 回滚事务 throw new PDOException('申请失败!'); }
结果依旧不行
3:排查成功语句
原因:你的没有报失败了,也插入成功了,那说明跟失败部分没有一点问题了
当排除所有可能之后,剩下的,不管多难以置信,那就是真相。
---福尔摩斯
我这边用的是tp的快捷语法:
$this->success('发送成功');
发现别人用的都是类似于:
return json(['code'=>201,'data'=>$e->getMessage()]);
那就没什么好说的了,干就完了。
最后果然成功了:
return json(['code'=>1,'msg'=>'发送成功','time'=>time(),'data'=>'true']);
总结
没有无缘无故的报错,无非就是没有找到报错位置而已,多列举可能,然后逐一排除