implements Phalcon\Mvc\Model\TransactionInterface
Transactions are protective blocks where SQL statements are only permanent if they can all succeed as one atomic action. Phalcon\Transaction is intended to be used with Phalcon_Model_Base. Phalcon Transactions should be created using Phalcon\Transaction\Manager.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | try { $manager = new \Phalcon\Mvc\Model\Transaction\Manager(); $transaction = $manager ->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, [boolean $autoBegin], [string $service])
Phalcon\Mvc\Model\Transaction constructor
public setTransactionManager (Phalcon\Mvc\Model\Transaction\ManagerInterface $manager)
Sets transaction manager related to the transaction
public begin ()
Starts the transaction
public commit ()
Commits the transaction
public boolean rollback ([string $rollbackMessage], [Phalcon\Mvc\ModelInterface $rollbackRecord])
Rollbacks the transaction
public getConnection ()
Returns the connection related to transaction
public setIsNewTransaction (mixed $isNew)
Sets if is a reused transaction or new once
public setRollbackOnAbort (mixed $rollbackOnAbort)
Sets flag to rollback on abort the HTTP connection
public isManaged ()
Checks whether transaction is managed by a transaction manager
public getMessages ()
Returns validations messages from last save try
public isValid ()
Checks whether internal connection is under an active transaction
public setRollbackedRecord (Phalcon\Mvc\ModelInterface $record)
Sets object which generates rollback action
Please login to continue.