我正在尝试在代码点火器中实现事务。
问题是我的DML语句在多个模型文件中。
我的控制器操作看起来是这样的:
//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个)都会失败或成功。但并非如此
有什么想法吗?
要调用代码点火器中的模型,有一个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();
}
//...
?>