2

我正在尝试在代码点火器中实现事务。

问题是我的 DML 语句在多个模型文件中。

我的 Controller 操作如下所示:

//the following is inside a controller
public function myaction()
{
    transaction_start();
    first_model->setSomeData();
    second_model->setSomeData();
    third_model->setSomeData();
    transaction_complete();
}

我正在研究一个 mysql 数据库,并且我已经在相关模型 innodb 中制作了它们的表,因为我知道引擎支持事务。

上面的代码结构似乎不起作用,因为我故意让第二个模型插入失败。我预计三个插入(三个模型的 setsomedata 方法中的每一个中的 1 个)都失败或全部成功。但事实并非如此

请问有什么想法吗?

4

1 回答 1

0

要在 codeigniter 中调用模型,有一个 load->model 函数

<?php
controller extends CI_Controller{
    public function __construct(){
        parent::__construct();
        $this->load->model('FirstModel');
        $this->load->model('SecondModel');
    }
?>

并在某些动作中使用它

<?php
//...
    public function index(){
        $this->FirstModel->getData();
        $this->SecondModel->getData();
    }
//...
?>
于 2012-09-11T22:53:17.897 回答