gpt4 book ai didi

php - Yii 交易从哪里开始呢

转载 作者:行者123 更新时间:2023-11-30 22:29:42 27 4
gpt4 key购买 nike

我想知道从哪里开始交易是否重要。

示例 1:

            $transaction = Yii::app()->db->beginTransaction();
try
{
$savedSuccessfully = $object->save();
$transaction->commit();
}
catch (Exception $ex)
{

$transaction->rollBack();
$result = $e->getMessage();
}

示例 2:

            $transaction = Yii::app()->db->beginTransaction();
try
{
$object = $model()::model()->findByPk(1); //!!!!!!! - line
// what makes the difference
$savedSuccessfully = $object->save();
$transaction->commit();
}
catch (Exception $ex)
{

$transaction->rollBack();
$result = $e->getMessage();
}

事务应该在从数据库中选择数据之前开始,还是在更新/插入数据之前开始? yii 会代替我处理它吗?

谢谢

最佳答案

示例 2 是首选解决方案。

通过在事务中检索模型,您可以确保它在整个更改过程中保持一致。

如果您在事务外部检索模型(如示例 1 中),则其他线程/用户可以在您提交更改之前更改相应的数据库条目。因此,您最终可能会得到可能不一致的数据。

关于php - Yii 交易从哪里开始呢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190229/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com