繁体   English   中英

Codeigniter控制器中的事务?

[英]Transactions in codeigniter controller?

我正在使用Codeigniter 2.1.4并尝试实现事务。 我可能错过了交易的重点,但是我想做的是将文件上传到服务器,并为该文件创建数据库条目。 如果行插入或文件上传失败,则我也不想这样做。

这是我控制器的要旨

首先打开交易

$this->db->trans_begin();

用模型添加条目

$fileId = $this->file_model->addFile('someinfo');

执行文件上传

$upload = $this->upload->do_upload('file');

检查以确保两者均通过

//commit
if($fileId AND $upload){
    $this->db->trans_commit();
}

//rollback
else{
    $this->db->trans_rollback();
}

事务不起作用,并且无论上传是否失败,每次都会添加数据库条目。

现在从以前的阅读中看来,事务似乎属于模型,但这对我不起作用,因为我还上传了文件。

关于如何实现这一点的想法?

尝试这个:

$this->db->trans_start();

    //Your code Here...

$this->db->trans_complete();

$trans_status = $this->db->trans_status();

if ($trans_status == FALSE) {
    $this->db->trans_rollback();
} else {
    $this->db->trans_commit();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM