您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Yii2 框架自带的ActiveRecord 事务嵌套分析

2024/2/24 13:03:59发布15次查看
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底层也用了事务操作,如果在外面也开启事务,事务嵌套,会造成什么影响?
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product