SearchTable Of ContentsPrevious topicClass Phalcon\Mvc\Model\Transaction\Failed Next topicClass Phalcon\Mvc\Model\Validator This Page |
Class Phalcon\Mvc\Model\Transaction\Manager¶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. <?php
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();
}
Methods¶public __construct (Phalcon\DiInterface $dependencyInjector) public setDI (Phalcon\DiInterface $dependencyInjector) Sets the dependency injection container public Phalcon\DiInterface getDI () Returns the dependency injection container public boolean has () Checks whether manager has an active transaction public Phalcon\Mvc\Model\TransactionInterface get (boolean $autoBegin) Returns a new Phalcon\Mvc\Model\Transaction or an already created once 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 transaction from the manager public notifyRollback (Phalcon\Mvc\Model\TransactionInterface $transaction) Notifies the manager about a rollbacked transaction public notifyCommit (Phalcon\Mvc\Model\TransactionInterface $transaction) Notifies the manager about a commited transaction protected _collectTransaction () Removes transactions from the TransactionManager public collectTransactions () Remove all the transactions from the manager |