关于laravel事务的一个小问题

静夜灬听风 2018-12-03 08:47:32

简化版代码如图,在一个事务里面,逻辑执行到一定步骤时,需执行一个操作,执行该操作必须要记录日志。
执行完这个操作后,继续执行相应逻辑,到最后通过结果判定是否需要提交/回滚。
但我需要无论结果如何,中间执行的这个操作都能记录到日志。请问应该如何实现呢?
...全文
559 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
YZJ0517 2019-01-08
  • 打赏
  • 举报
回复
try{ //这里写事务逻辑 } catch (Exception $e) { //这里写错误日志 } 具体语法自行百度
_泪竹 2018-12-06
  • 打赏
  • 举报
回复
用\Log 记就好了。
正常而言,记日志都是走io或者缓存。
要么就是导入搜索引擎。
没必要给数据库增压。
静夜灬听风 2018-12-05
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
事务的四个特性

1、原子性(atomicity)原子性是指整个数据库事务是不可分割的工作单位。
2、一致性(consistency)一致性指事务将数据库从一种状态转变为下一种一致的状态。在事务开始之前和事务结束之后,数据库的完整性约束没有被破坏。

3、隔离性(isolation)一个事务的影响在该事务提交之前对其他事务都不可见

4、持久性(durability)事务一旦提交,其结果就是永久性的。


那么您认为您的需求适合用 事务 来处理吗?

好吧,我以为事务上能够有办法让事务内某条SQL直接提交掉
xuzuning 2018-12-04
  • 打赏
  • 举报
回复
事务的四个特性

1、原子性(atomicity)原子性是指整个数据库事务是不可分割的工作单位。
2、一致性(consistency)一致性指事务将数据库从一种状态转变为下一种一致的状态。在事务开始之前和事务结束之后,数据库的完整性约束没有被破坏。

3、隔离性(isolation)一个事务的影响在该事务提交之前对其他事务都不可见

4、持久性(durability)事务一旦提交,其结果就是永久性的。


那么您认为您的需求适合用 事务 来处理吗?
xuzuning 2018-12-04
  • 打赏
  • 举报
回复
那你知道 事务 是做什么的吗?或是说 怎样的操作 会被称为 事务 吗?
静夜灬听风 2018-12-04
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
把日志放在不支持事务的表中
一般记录日志都是简单的插入(insert)操作不会出错

日志表还是需要支持事务的,有别的办法能够解决吗?
xuzuning 2018-12-03
  • 打赏
  • 举报
回复
把日志放在不支持事务的表中
一般记录日志都是简单的插入(insert)操作不会出错

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧