Hola buenos dias. tengo unos meses en zend framework y aun me falta entender bien a zend.
 
aqui mi pregunta. tengo creado 3 archivos Zend_Db_Table_Abstract claro las 3 son tablas distintas, las 3 tablas son de tipo InnoDB. y tengo un proceso en la cual uso los 3 archivos para actualizar cada tabla con diferentes valores. lo que quiero haces es poder usar transacciones para que si falle en un proceso pues no guarde nada.
 
 
seria algo asi .
 
beginTransaction();
 
try { 
    instancio Db_Table 1 y ejecuto insert() .
    instancion Db_Table 2 y ejecuto update().
    instancion Db_Table 3 y ejecuto insert().
    commit()
}catch(Exception $e) {
     rollBack();
      echo $e->getMessage();
}  
 
segun los ejemplos que e visto uno en esta misma pagina
 
public function addLibro($titulo, $autor)
{
     $this->getAdapter()->beginTransaction();
     try {
         $data = array('titulo' => $titulo, 'autor' => $autor);
         $this->insert($data);
         $this->getAdapter()->commit()
     }catch(Exception $e) {
          $this->getAdapter()->rollBack();
          echo $e->getMessage();
     }     
}
 
el Db_Table, tiene getAdapte y ahi podrias acceder a beginTransaction, pero veo que esto lo hace en la misma clase. en este caso lo quiero hacer afuera ya que para la tranccion necesitaria el objeto DB , ¿como podria quedar mis lineas de codigo para que pueda hacer esto ?. toy buscando por todos lados la ayuda y no logro entender como hacerlo.
 
 
e intentado hacer esto, disculpen si es una estupides pero aun no tengo experiencia con zend :(
 
$table = new Application_Model_DbTable_Primero();
$db = $table->getAdapter();  // supongo que aqui obtengo el objeto DB y con esto seria suficiente para poder trabajar las transacciones con mis demas objetos o estoy equivocado ?? 
$db->beginTransacction();  // aqui iniciaria mi transaccion y ya tendria mis 
$db->commit() y $db->rollBack();  
 
pero cuando ejecuto esto mi tira un error.
 
Fatal error: Call to undefined method Zend_Db_Adapter_Pdo_Mysql::beginTransacction() in C:\xampp\htdocs\server-hasso\application\controllers\PrimeroController.ph  p on line 44
 
les agradecere cualquier ayuda 
   
 


 , si alguien me puede dar mas alcance o si esta correcto esto se los agradecere.
 , si alguien me puede dar mas alcance o si esta correcto esto se los agradecere. 
 gracias.
 gracias. 

