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

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



 

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

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

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

总结

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

相关文章
|
6月前
vxe-table表格校验失败后保持可以编辑状态
vxe-table表格校验失败后保持可以编辑状态
vxe-table表格校验失败后保持可以编辑状态
|
6月前
|
前端开发 JavaScript
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
|
6月前
|
SQL 关系型数据库 MySQL
MySQL insert 遇到delete 唯一键未提交导致死锁
一 前言死锁,其实是一个很有意思也很有挑战的技术问题,大概每个DBA和部分开发同学都会在工作过程中遇见 。关于死锁我会持续写一个系列的案例分析,希望能够对想了解死锁的朋友有所帮助二案例分析2.1 业务场景用户录入商品,应用程序会提前检查是否存在相同记录,如果有则先删除再插入;如果没有则直接插入。2....
294 0
|
SQL 关系型数据库 MySQL
你会不会用mysql查询近7个月的数据?没有记录默认为空
你会不会用mysql查询近7个月的数据?没有记录默认为空
227 0
你会不会用mysql查询近7个月的数据?没有记录默认为空
|
SQL 关系型数据库 Oracle