Class **Phalcon\\Mvc\\Model\\Transaction\\Manager** =================================================== *implements* :doc:`Phalcon\\Mvc\\Model\\Transaction\\ManagerInterface `, :doc:`Phalcon\\Di\\InjectionAwareInterface ` .. role:: raw-html(raw) :format: html :raw-html:`Source on GitHub` A transaction acts on a single database connection. If you have multiple class-specific databases, the transaction will not protect interaction among them. This class manages the objects that compose a transaction. A trasaction produces a unique connection that is passed to every object part of the transaction. .. code-block:: php get(); $robot = new Robots(); $robot->setTransaction($transaction); $robot->name = 'WALL·E'; $robot->created_at = date('Y-m-d'); if($robot->save()==false){ $transaction->rollback("Can't save robot"); } $robotPart = new RobotParts(); $robotPart->setTransaction($transaction); $robotPart->type = 'head'; if($robotPart->save()==false){ $transaction->rollback("Can't save robot part"); } $transaction->commit(); } catch (Phalcon\Mvc\Model\Transaction\Failed $e) { echo 'Failed, reason: ', $e->getMessage(); } Methods ------- public **__construct** ([:doc:`Phalcon\\DiInterface ` $dependencyInjector]) Phalcon\\Mvc\\Model\\Transaction\\Manager constructor public **setDI** (:doc:`Phalcon\\DiInterface ` $dependencyInjector) Sets the dependency injection container public **getDI** () Returns the dependency injection container public **setDbService** (*unknown* $service) Sets the database service used to run the isolated transactions public *string* **getDbService** () Returns the database service used to isolate the transaction public **setRollbackPendent** (*unknown* $rollbackPendent) Set if the transaction manager must register a shutdown function to clean up pendent transactions public **getRollbackPendent** () Check if the transaction manager is registering a shutdown function to clean up pendent transactions public **has** () Checks whether the manager has an active transaction public **get** ([*unknown* $autoBegin]) Returns a new \\Phalcon\\Mvc\\Model\\Transaction or an already created once This method registers a shutdown function to rollback active connections public **getOrCreateTransaction** ([*unknown* $autoBegin]) Create/Returns a new transaction or an existing one public **rollbackPendent** () Rollbacks active transactions within the manager public **commit** () Commmits active transactions within the manager public **rollback** ([*boolean* $collect]) Rollbacks active transactions within the manager Collect will remove the transaction from the manager public **notifyRollback** (:doc:`Phalcon\\Mvc\\Model\\TransactionInterface ` $transaction) Notifies the manager about a rollbacked transaction public **notifyCommit** (:doc:`Phalcon\\Mvc\\Model\\TransactionInterface ` $transaction) Notifies the manager about a commited transaction protected **_collectTransaction** (:doc:`Phalcon\\Mvc\\Model\\TransactionInterface ` $transaction) Removes transactions from the TransactionManager public **collectTransactions** () Remove all the transactions from the manager