Yii mysql事务:数据只保存在一个表中

时间:2013-12-02 08:31:42

标签: php yii transactions mysql-workbench

我对Yii很新。我正在尝试这样的事情 -

  public function actionCreate()

{
    $a=new Tblcompany;
            $b= new Tblusergroup;

  $transaction= Yii::app()->db->beginTransaction();

try{
    if(isset($_POST['Tblcompany']))
    {

                    $a->attributes=$_POST['Tblcompany'];

        if($a->save()){

         $b->company_code= $a->company_code;

                  $b->usergroup_code='Admin';

                  $b->save();

                      $transaction->commit();


            $this->redirect(array('view','id'=>$a->company_code));

            }
    }

    $this->render('create',array(
    'a'=>$a,
            'b'=>$b,
    ));

 }catch(Exception $error){

  $transaction->rollback();
    }

}

不知道为什么tblusergroup中没有保存数据。虽然数据在tblcompany中完美添加..请帮助:/

1 个答案:

答案 0 :(得分:1)

可能你的$ b模型验证失败了。

var_dump($b->getErrors());
die();

$b->save();之后,看到错误。它必须是空数组才能将模型保存到DB。