activerecord 这个class文件update方法里面如何下:
public function update($runvalidation = true, $attributenames = null)
{    if ($runvalidation && !$this->validate($attributenames)) {        yii::info('model not updated due to validation error.', __method__);        return false;    }    if (!$this->istransactional(self::op_update)) {        return $this->updateinternal($attributenames);    }    $transaction = static::getdb()->begintransaction();    try {        $result = $this->updateinternal($attributenames);        if ($result === false) {            $transaction->rollback();        } else {            $transaction->commit();        }        return $result;    } catch (\exception $e) {        $transaction->rollback();        throw $e;    }}
为什么update底层也用了事务操作,如果在外面也开启事务,事务嵌套,会造成什么影响?
                                                                                                                                                                                                 回复内容:                                                                                  activerecord 这个class文件update方法里面如何下:
public function update($runvalidation = true, $attributenames = null)
{    if ($runvalidation && !$this->validate($attributenames)) {        yii::info('model not updated due to validation error.', __method__);        return false;    }    if (!$this->istransactional(self::op_update)) {        return $this->updateinternal($attributenames);    }    $transaction = static::getdb()->begintransaction();    try {        $result = $this->updateinternal($attributenames);        if ($result === false) {            $transaction->rollback();        } else {            $transaction->commit();        }        return $result;    } catch (\exception $e) {        $transaction->rollback();        throw $e;    }}
为什么update底层也用了事务操作,如果在外面也开启事务,事务嵌套,会造成什么影响?
   
 
   