Yii 不完全解决方案(2)

if($_POST['ModelA'])
{
    /*开启事务机制*/
    $transaction = Yii::app()->db->beginTransaction();
    try
    {
        $validated = true;

/*此处省略一堆逻辑*/
        $valid = $modelA->save();
        $validated = $valid & $validated;

/*此处继续省略一堆逻辑*/
        $valid = $modelB->save();
        $validated = $valid & $validated;

/* 成功则 commit */
        if($validated)
        {
            $transaction->commit();
            $this->redirect(array('view','id'=>$model->id));
        }
        else
        {
            /*不成功即回滚 */
            $transaction->rollBack();
        }
    }
    catch(Exception $e)
    {
        $transaction->rollBack();
    }
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/844e375cf77cf2e7bd4b7447d426ea3f.html