首頁 >後端開發 >php教程 >CI 框架 事务的使用问题

CI 框架 事务的使用问题

WBOY
WBOY原創
2016-06-06 20:15:301006瀏覽

情况是这样:

我需要先往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 中写个新方法

<code>public function postWithOther()</code>

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

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

按我的理解,model实际上应该是一个业务逻辑层,你说的这个场景,完全可以在model中写一个方法(同时包括事务的处理)。
关于CI事务的使用参考文档:http://codeigniter.org.cn/user_guide/database/transactions.html

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn