[英]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.