Codeigniter 一笔交易有两种模型

标签 codeigniter model transactions

是否可以对单独的模型进行一次“事务”。 我想插入带有他们标签的帖子。标签和帖子位于两个不同的模型中。 我怎样才能通过交易来处理它? (如下:)

$this->db->trans_start();
$this->post_model->insert('...');
$this->tags_model->insert('...');
$this->db->trans_complete();

最佳答案

只要您的模型方法中没有其他事务语句,您的示例代码就应该可以正常工作。

根据文档,您可以通过将 TRUE 传递给 $this->db->trans_start() 来测试它:

$this->db->trans_start(TRUE);
// Queries/model calls
$this->db->trans_complete();

if($this->db->trans_status() === FALSE)
{
    // do something if it fails
}

TRUE 传递给 trans_start() 将在完成后自动回滚事务。您应该能够检查表上的 auto_increment 值(如果适用)以查看事务是否有效。

关于Codeigniter 一笔交易有两种模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12246666/

相关文章:

Linux 内核设备模型 - 哪些设备遵循它?

entity-framework - Entity Framework 查询到带有列表的自定义对象类

java - 在一个事务中进行删除和选择操作

php - Paypal 捐赠 CodeIgniter

php - 如何使用 codeigniter 验证和插入多条记录

Java - 使用文本区域将 JTable 设置为不可编辑

mysql - Sequelize 事务执行回滚但数据库不执行

php - 如何在 php codeigniter 中为工作饼图创建 javascript

mysql - Codeigniter MySQL 不正确的日期时间插入

spring - REQUIRES_NEW 的传播也回滚外部事务。为什么?