Spec-Zone.ru › Yii 1.1

CDbTransaction

Пакет system.db
Наследование класс CDbTransaction » CComponent
С момента 1.0
Исходный код framework/db/CDbTransaction.php
CDbTransaction представляет транзакцию БД.

Обычно создаётся вызовом CDbConnection::beginTransaction.

Следующий код — типичный пример использования транзакций:
$transaction=$connection->beginTransaction();
try
{
   $connection->createCommand($sql1)->execute();
   $connection->createCommand($sql2)->execute();
   //.... other SQL executions
   $transaction->commit();
}
catch(Exception $e)
{
   $transaction->rollback();
}

Общественные свойства

Свойство Тип Описание Определено в
active boolean активна ли эта транзакция CDbTransaction
connection CDbConnection соединение с БД для этой транзакции CDbTransaction

Общественные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. CComponent
__construct() Конструктор. CDbTransaction
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
commit() Подтверждает транзакцию. CDbTransaction
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает прикреплённое поведение. CComponent
disableBehaviors() Отключает все прикреплённые к этому компоненту поведения. CComponent
enableBehavior() Включает прикреплённое поведение. CComponent
enableBehaviors() Включает все прикреплённые к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. CComponent
getActive() Возвращает, активна ли эта транзакция CDbTransaction
getConnection() Возвращает соединение с БД для этой транзакции CDbTransaction
getEventHandlers() Возвращает список прикрепленных обработчиков событий для события. CComponent
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли прикреплённые обработчики для заданного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
raiseEvent() Вызывает событие. CComponent
rollback() Отменяет транзакцию. CDbTransaction

Защищенные методы

Метод Описание Определено в
setActive() Устанавливает, активна ли эта транзакция CDbTransaction

Подробное описание свойств

active свойство

public boolean getActive()
protected void setActive(boolean $value)

активна ли эта транзакция

connection свойство только для чтения

public CDbConnection getConnection()

соединение с БД для этой транзакции

Подробное описание методов

__construct() метод

public void __construct(CDbConnection $connection)
$connection CDbConnection соединение, связанное с этой транзакцией
Исходный код: framework/db/CDbTransaction.php#49 (показать)
public function __construct(CDbConnection $connection)
{
    
$this->_connection=$connection;
    
$this->_active=true;
}

Конструктор.

См. также

  • CDbConnection::beginTransaction

commit() метод

public void commit()
Исходный код: framework/db/CDbTransaction.php#59 (показать)
public function commit()
{
    if(
$this->_active && $this->_connection->getActive())
    {
        
Yii::trace('Committing transaction','system.db.CDbTransaction');
        
$this->_connection->getPdoInstance()->commit();
        
$this->_active=false;
    }
    else
        throw new 
CDbException(Yii::t('yii','CDbTransaction is inactive and cannot perform commit or roll back operations.'));
}

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

getActive() метод

public boolean getActive()
{возвращает} boolean активна ли эта транзакция
Исходный код: framework/db/CDbTransaction.php#98 (показать)
public function getActive()
{
    return 
$this->_active;
}

getConnection() метод

public CDbConnection getConnection()
{возвращает} CDbConnection соединение с БД для этой транзакции
Исходный код: framework/db/CDbTransaction.php#90 (показать)
public function getConnection()
{
    return 
$this->_connection;
}

rollback() метод

public void rollback()
Исходный код: framework/db/CDbTransaction.php#75 (показать)
public function rollback()
{
    if(
$this->_active && $this->_connection->getActive())
    {
        
Yii::trace('Rolling back transaction','system.db.CDbTransaction');
        
$this->_connection->getPdoInstance()->rollBack();
        
$this->_active=false;
    }
    else
        throw new 
CDbException(Yii::t('yii','CDbTransaction is inactive and cannot perform commit or roll back operations.'));
}

Отменяет транзакцию.

setActive() метод

protected void setActive(boolean $value)
$value boolean является ли эта транзакция активной
Исходный код: framework/db/CDbTransaction.php#106 (показать)
protected function setActive($value)
{
    
$this->_active=$value;
}

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CDbTransaction

Spec-Zone.ru

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