我有一个活动记录数组,并希望以这种方式通过循环更改其中的某些字段:
$error = false;
foreach ($items as $item) {
$item->is_paid = self::PENDING;
$error = $error || !$item->save();
}
return $error;
我想做的是改变is_paid
所有这些项目的财产。如果失败,则回滚其他。如何使用事务来解决这个问题?
简单看一下here http://www.yiiframework.com/forum/index.php/topic/14082-transaction-on-multiple-ar/page__view__findpost__p__152783,我能够在 yii 中找到事务管理,类似以下内容应该适合您:
$transaction = Yii::app()->db->beginTransaction();
try {
foreach ($items as $item) {
$item->is_paid = self::PENDING;
$item->save();
}
$transaction->commit();
// actions to do on success (redirect, alert, etc.)
} catch (Exception $e) {
$transaction->rollBack();
// other actions to perform on fail (redirect, alert, etc.)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)