Spec-Zone.ru › Phalcon 2

Класс Phalcon\Mvc\Model\Transaction

реализует Phalcon\Mvc\Model\TransactionInterface

Транзакции — это защищённые блоки, где SQL-запросы становятся постоянными только в случае успешного выполнения всех запросов как одного атомного действия. Phalcon\Transaction предназначен для использования с Phalcon_Model_Base. Транзакции Phalcon должны создаваться с помощью Phalcon\Transaction\Manager.

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 boolean begin ()

Начинает транзакцию

public boolean commit ()

Подтверждает транзакцию

public boolean rollback ([string $rollbackMessage], [Phalcon\Mvc\ModelInterface $rollbackRecord])

Откатывает транзакцию

public Phalcon\Db\AdapterInterface getConnection ()

Возвращает подключение, связанное с транзакцией

public setIsNewTransaction (boolean $isNew)

Устанавливает, является ли это повторно используемой транзакцией или новой

public setRollbackOnAbort (boolean $rollbackOnAbort)

Устанавливает флаг для отката при прерывании HTTP-соединения

public boolean isManaged ()

Проверяет, управляемая ли транзакция менеджером транзакций

public array getMessages ()

Возвращает сообщения валидации с последней попытки сохранения

public boolean isValid ()

Проверяет, находится ли внутреннее соединение в активной транзакции

public setRollbackedRecord (Phalcon\Mvc\ModelInterface $record)

Устанавливает объект, который генерирует действие отката

© 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.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API