Phalcon\Mvc\Model\Transaction
Класс Phalcon\Mvc\Model\Transaction
Реализует Phalcon\Mvc\Model\TransactionInterface
Транзакции являются защитными блоками, в которых операторы SQL только постоянные, если все они могут быть успешными как одно атомарное действие. Phalcon\Transaction предназначен для использования с Phalcon_Model_Base. Phalcon транзакции должны быть созданы с помощью Phalcon\Transaction\Manager.
<?php 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(); }
Методы
public __construct (Phalcon\DiInterface $dependencyInjector, [boolean $autoBegin], [string $service])
Phalcon\Mvc\Model\Transaction конструктор
public setTransactionManager (Phalcon\Mvc\Model\Transaction\ManagerInterface $manager)
Задает диспетчер транзакций, связанный с транзакцией
public begin ()
Запускает транзакцию
public commit ()
Фиксирует транзакцию
public boolean rollback ([string $rollbackMessage], [Phalcon\Mvc\ModelInterface $rollbackRecord])
Откат транзакции
public getConnection ()
Возвращает подключение, связанное с транзакцией
public setIsNewTransaction (mixed $isNew)
Устанавливает, является ли транзакция повторно используемой или новой
public setRollbackOnAbort (mixed $rollbackOnAbort)
Устанавливает флаг для отката при отмене HTTP-соединения
public isManaged ()
Проверяет, управляется ли транзакция менеджером транзакций
public getMessages ()
Возвращает сообщения о проверке с последнего сохранения.
public isValid ()
Проверяет, находится ли внутреннее соединение под активной транзакцией
public setRollbackedRecord (Phalcon\Mvc\ModelInterface $record)
Устанавливает объект, который генерирует откат