tp6使用事务正常插入但是却显示失败的提示

目录

问题:使用事务后正常插入数据表内但是却返回的是失败的提示

1:排查插入回滚的$e

原因:​编辑

解决方案:直接去看别人的博客,发现跟我的没有任何出入

2:排查是否执行到了回滚

原因:既然不返回值,那我怎么知道你是不是真的执行了呢?

解决方案:直接在回滚上面进行终止

3:排查成功语句

原因:你的没有报失败了,也插入成功了,那说明跟失败部分没有一点问题了

总结


问题:使用事务后正常插入数据表内但是却返回的是失败的提示

可以看见数据表正常插入,但是却返回的失败的提示,直接排查好吧:

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']);

总结

没有无缘无故的报错,无非就是没有找到报错位置而已,多列举可能,然后逐一排除

猜你喜欢

转载自blog.csdn.net/m0_72196169/article/details/134825945