簡體   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