Vous l'avez. La bonne façon de commencer, de valider et d'annuler des transactions est la suivante :
$this->getAdapter()->getDriver()->getConnection()->beginTransaction();
$this->getAdapter()->getDriver()->getConnection()->commit();
$this->getAdapter()->getDriver()->getConnection()->rollback();
Juste pour mettre cela là aussi, vous pouvez également obtenir le dernier ID créé par :
$this->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue()
Si vous utilisez pgSQL, vous devrez ajouter la séquence pour renvoyer le dernier ID créé :
$this->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue('mail_mailid_seq')