2016-06-20 36 views
0

我創造了這樣一個交易:爾康交易無法正常工作正確

$this->db->begin(); 
$topic = new Topic(); 
$topic->assign($data); 
$topic->save(); 

var_dump($this->db->isUnderTransaction()); // bool(true) 

$this->db->rollback(); 

var_dump($this->db->isUnderTransaction()); // bool(false) 

但是,數據庫仍然改變並插入一個新行。回滾方法不起作用。

回答

2

$di->set只有在第二個參數爲「TRUE」時纔會共享方法。

$di->set('db', function() use($conf) { 
    return new DbAdapter([ 
     'host' => $conf->db->host, 
     'username' => $conf->db->username, 
     'password' => $conf->db->password, 
     'dbname' => $conf->db->dbname, 
     'options' => [ 
      \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, 
      \PDO::ATTR_PERSISTENT => true 
     ] 
    ]); 
}, true);