2015-03-08 116 views
1

在CodeIgniter中,我們是否也可以像這樣使用「Active Record Class」?在CodeIgniter中,我們可以像這樣使用數據庫事務嗎?

<?php 
$data_balance = array(
'balance' => $newbalance 
); 
$data_transaction = array(
'amount' => $amount, 
'user' => $user 
); 

$this->db->trans_start(); 
// This is an "Insert" query for a table 
$this->db->set('date', 'NOW()', FALSE); 
$this->db->insert('financial_transactions', $data_transaction); 
// This is an "Update" query for another table 
$this->db->where('user_id', $user_id); 
$this->db->update('financial_balances', $data_balance); 
$this->db->trans_complete(); 

if ($this->db->trans_status() === FALSE){ 
    // Do stuff if failed 
} 
?> 

請注意,我用$這個 - > DB->兩個查詢,所以我不知道,如果第一個成功的結果實際上是清理檢查第二個?

這是否正常工作?我可以相信,這將使得要麼兩個查詢成功或者兩者都不是的(我不想要一個成功,一個失敗)

回答

0

documentation

默認情況下笨運行在所有交易嚴格模式。當啓用嚴格模式時,如果您正在運行多組事務,如果一個組失敗,則所有組都將回滾。如果嚴格模式被禁用,則每個組都被獨立處理,這意味着一個組的失敗不會影響其他組。

相關問題