php ci框架中事物处理,CI 框架 事务的使用问题

情况是这样:

我需要先往Post 表中插入文章的基本信息,成功后返回 post_id。然后需要做一些数据处理,再用 post_id 和对应的数据插入到 Postmeta 表。 但时候在数据处理的过程中,有时候会失败。导致 Post 的数据插入成功了,Postmeta 表的数据插入失败。 这就是一次失败的插入。会产生很多冗余的 Post 数据。

我希望的是 postmeta 数据插入失败,前面的 post 数据也应该『抹除』,就像事务的回退。

事务是在 CI 的 model 中运行,但是据我了解到,model 主要是用来数据的增删改查。数据处理(逻辑处理)主要都在 controller中进行。

所以我不知道,我这个情况,到底应该如何处理?

谢谢大家。

回复内容:

情况是这样:

我需要先往Post 表中插入文章的基本信息,成功后返回 post_id。然后需要做一些数据处理,再用 post_id 和对应的数据插入到 Postmeta 表。 但时候在数据处理的过程中,有时候会失败。导致 Post 的数据插入成功了,Postmeta 表的数据插入失败。 这就是一次失败的插入。会产生很多冗余的 Post 数据。

我希望的是 postmeta 数据插入失败,前面的 post 数据也应该『抹除』,就像事务的回退。

事务是在 CI 的 model 中运行,但是据我了解到,model 主要是用来数据的增删改查。数据处理(逻辑处理)主要都在 controller中进行。

所以我不知道,我这个情况,到底应该如何处理?

谢谢大家。

直接在 Model 中写个新方法

public function postWithOther()

Controller 才不需要关心里面是否有事务。

关于 MC 两层的分工,楼主还需另外好好学习。

按我的理解,model实际上应该是一个业务逻辑层,你说的这个场景,完全可以在model中写一个方法(同时包括事务的处理)。

关于CI事务的使用参考文档:http://codeigniter.org.cn/user_guide/database/transactions.html

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值