CI的事务使用有问题,求助一下
本帖最后由 红瓜 于 2018-8-2 18:18 编辑以下是控制器中的代码
$this->db->trans_start();
$insert_user = $this->user_model->insert_data([
'student_id' => $student_id,
'username' => $username,
'user_password' => $user_password,
'user_email' => $user_email,
'level_id' => 1//后面改,接入website_model
]);
$insert_userFront = $this->user_front_model->insert_data([
'student_id' => $student_id
]);
$this->db->trans_complete();
if (!$this->db->trans_status()){
return_msg(false, '数据库出错 注册失败');
}
以下是model中的insert_data方法,使用了构造查询。
public function insert_data($in_data, $set_data = true){
//添加数据
if ($set_data){
$in_data = $this->set_data($in_data);
}
$result = $this->db->insert($this->table_name,$in_data);
return $result;
}
现在我测试时遇到的问题是,第二个model插入数据失败后(由于主键重复而失败),事务不会自行回滚,第一个model仍旧更新了数据。
然后,下边的判断trans_status的句子也没有执行。
想知道问题在哪里呢?
页:
[1]