Класс Phalcon\Mvc\Model\Transaction\Manager
Реализует Phalcon\Mvc\Model\Transaction\ManagerInterface, Phalcon\DI\InjectionAwareInterface
Транзакция действует на единственное соединение с базой данных. Если у вас несколько баз данных, специфичных для класса, транзакция не будет защищать взаимодействия между ними. Этот класс управляет объектами, составляющими транзакцию. Транзакция создает уникальное соединение, которое передается каждому объекту, являющемуся частью транзакции.
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();
}
Методы
public __construct ([Phalcon\DiInterface $dependencyInjector])
Конструктор Phalcon\Mvc\Model\Transaction\Manager
public setDI (Phalcon\DiInterface $dependencyInjector)
Устанавливает контейнер инъекций зависимостей
public Phalcon\DiInterface getDI ()
Возвращает контейнер инъекций зависимостей
public Phalcon\Mvc\Model\Transaction\Manager setDbService (string $service)
Устанавливает службу базы данных, используемую для выполнения изолированных транзакций
public string getDbService ()
Возвращает службу базы данных, используемую для изоляции транзакции
public Phalcon\Mvc\Model\Transaction\Manager setRollbackPendent (boolean $rollbackPendent)
Устанавливает, должен ли менеджер транзакций регистрировать функцию завершения для очистки ожидающих транзакций
public boolean getRollbackPendent ()
Проверяет, регистрирует ли менеджер транзакций функцию завершения для очистки ожидающих транзакций
public boolean has ()
Проверяет, есть ли у менеджера активная транзакция
public Phalcon\Mvc\Model\TransactionInterface get ([boolean $autoBegin])
Возвращает новую Phalcon\Mvc\Model\Transaction или уже созданную. Этот метод регистрирует функцию завершения для отката активных соединений
public Phalcon\Mvc\Model\TransactionInterface getOrCreateTransaction ([boolean $autoBegin])
Создает/возвращает новую транзакцию или существующую
public rollbackPendent ()
Откатывает активные транзакции в рамках менеджера
public commit ()
Подтверждает активные транзакции в рамках менеджера
public rollback ([boolean $collect])
Откатывает активные транзакции в рамках менеджера. Collect удалит транзакцию из менеджера
public notifyRollback (Phalcon\Mvc\Model\TransactionInterface $transaction)
Уведомляет менеджер об откате транзакции
public notifyCommit (Phalcon\Mvc\Model\TransactionInterface $transaction)
Уведомляет менеджер о подтверждении транзакции
protected _collectTransaction ()
Удаляет транзакции из TransactionManager
public collectTransactions ()
Удаляет все транзакции из менеджера
© 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