yii\db\Transaction::rollBack PHP Method

rollBack() public method

Rolls back a transaction.
public rollBack ( )
    public function rollBack()
    {
        if (!$this->getIsActive()) {
            // do nothing if transaction is not active: this could be the transaction is committed
            // but the event handler to "commitTransaction" throw an exception
            return;
        }
        $this->_level--;
        if ($this->_level === 0) {
            Yii::trace('Roll back transaction', __METHOD__);
            $this->db->pdo->rollBack();
            $this->db->trigger(Connection::EVENT_ROLLBACK_TRANSACTION);
            return;
        }
        $schema = $this->db->getSchema();
        if ($schema->supportsSavepoint()) {
            Yii::trace('Roll back to savepoint ' . $this->_level, __METHOD__);
            $schema->rollBackSavepoint('LEVEL' . $this->_level);
        } else {
            Yii::info('Transaction not rolled back: nested transaction not supported', __METHOD__);
            // throw an exception to fail the outer transaction
            throw new Exception('Roll back failed: nested transaction not supported.');
        }
    }

Usage Example

Exemplo n.º 1
-1
 protected function endTransaction($result)
 {
     if ($this->transaction) {
         if ($result) {
             $this->transaction->commit();
         } else {
             $this->transaction->rollBack();
         }
     }
 }
All Usage Examples Of yii\db\Transaction::rollBack