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