Мне нужно выполнить группу операций SQL, которые либо выживают вместе, либо умирают вместе.
Чтобы в случае сбоя какой-либо части моего оператора (ов) весь процесс откатывался к началу, как если бы транзакция не состоялась.
без зенд я бы сделал:
$conn->query('BEGIN');
$conn->query($myQuery);
//rollback if anything went wrong
$conn->query('COMMIT');
В Zend я создал Db-соединение в моей начальной загрузке:
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?
спасибо
Luca