Du har det. Det korrekta sättet att påbörja, genomföra och återställa transaktioner är följande:
$this->getAdapter()->getDriver()->getConnection()->beginTransaction();
$this->getAdapter()->getDriver()->getConnection()->commit();
$this->getAdapter()->getDriver()->getConnection()->rollback();
Bara för att lägga ut det här också kan du också få det senaste ID:t skapat av:
$this->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue()
Om du använder pgSQL måste du lägga till sekvensen för att returnera det senast skapade ID:
$this->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue('mail_mailid_seq')