implements Phalcon\Mvc\Model\Transaction\ManagerInterface, Phalcon\DI\InjectionAwareInterface
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.
try { use Phalcon\Mvc\Model\Transaction\Manager as TransactionManager; $transactionManager = new TransactionManager(); $transaction = $transactionManager->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(); }
Phalcon\Mvc\Model\Transaction\Manager constructor
Sets the dependency injection container
Returns the dependency injection container
Sets the database service used to run the isolated transactions
Returns the database service used to isolate the transaction
Set if the transaction manager must register a shutdown function to clean up pendent transactions
Check if the transaction manager is registering a shutdown function to clean up pendent transactions
Checks whether the manager has an active transaction
Returns a new Phalcon\Mvc\Model\Transaction or an already created once This method registers a shutdown function to rollback active connections
Create/Returns a new transaction or an existing one
Rollbacks active transactions within the manager
Commmits active transactions within the manager
Rollbacks active transactions within the manager Collect will remove transaction from the manager
Notifies the manager about a rollbacked transaction
Notifies the manager about a commited transaction
Removes transactions from the TransactionManager
Remove all the transactions from the manager
© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/2.0.0/api/Phalcon_Mvc_Model_Transaction_Manager.html