允许对数据库进行原子更新

时间:2013-04-25 05:55:13

标签: yii

给出了几个模型类,比如

car, supplier, ...

我们为每个人都有save()方法。

我想要实现的是,我想保存 car and supplier 模型,如果其中一个模型失败,则不保存任何模型。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:4)

您正在寻找交易。看看这里:

http://www.yiiframework.com/doc/guide/1.1/en/database.ar#using-transaction-with-ar

$transaction=$model->dbConnection->beginTransaction();
if($car->save() && $supplier->save()) {
    $transaction->commit();
} else {
    $transaction->rollback();
}