Spec-Zone.ru › Phalcon 3

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

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

Исходный код на GitHub

Транзакции — это защитные блоки, в которых операторы 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 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)

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

© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Model_Transaction.html

Spec-Zone.ru

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