2011-05-22 49 views
2

我必須執行一組SQL操作,它們要麼一起存在要麼一起死亡。 因此,如果我的語句的任何部分失敗,整個過程將回滾到開始,就好像事務從未發生過一樣。Zend DB原子事務

沒有zend的,我會做:

$conn->query('BEGIN'); 
$conn->query($myQuery); 
//rollback if anything went wrong 
$conn->query('COMMIT'); 

在Zend的我創造了我的引導數據庫連接:

protected function _initDb() 
{ 
    $config=Zend_registry::get('config'); 
    $db = Zend_Db::factory($config->resources->db->adapter, $config->resources->db->params); 
    //set default adapter   
    Zend_Db_Table_Abstract::setDefaultAdapter($db); 
    Zend_Registry::set("db", $db); 
} 

而且使用DB交互由模型類(擴展Zend_Db_Table_abstract)

製成
class Platform extends Zend_Db_Table_Abstract 
{ 
public function insertPlatform($x) 
{ 
    $this->insert($x); 
} 
} 
class Game extends Zend_Db_Table_Abstract 
{ 
public function insertGame($x) 
{ 
    $this->insert($x); 
} 
} 

我怎麼能達到相同的(生存到在一起Zend的一起嗎?

感謝

盧卡

回答