【发布时间】:2015-12-09 22:28:36
【问题描述】:
我想知道从哪里开始交易是否重要。
示例 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 会代替我来处理它吗?
谢谢
【问题讨论】:
-
你如何初始化你的 $transaction 对象?
-
啊,我忘记了最重要的部分。已添加
-
这将开始你的交易
-
事务开始时模型有旧数据怎么办?
-
在开始和结束事务之间执行的每个查询都将全部提交或回滚
标签: php mysql yii transactions