0

我一直在尝试为我的 AR 关系实现这一点: http ://www.yiiframework.com/wiki/19/how-to-use-a-single-form-to-collect-data-for-two-or -more-models/ 并做:

public function actionCreate()
{
    $application = new Application;
    $company = new AppCompany;

    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if(isset($_POST['Application'], $_POST['AppCompany']))
    {
        $application->attributes=$_POST['Application'];
        $company->attributes=$_POST['AppCompany'];

        $valid=$application->validate();
        $valid=$company->validate() && $valid;

        if($valid)  
        {  
            if($application->save(false))
            {
                $company->applicant_id = $application->id;
                $company->save(false);
                $this->redirect(array('view','id'=>$application->id));
            }

        }

    }

    $this->render('create',array(
        'application'=>$application,
        'company'=>$company,
    ));
}

然后,当我尝试创建一个新应用程序并输入所有有效数据时 - 此数据成功保存到两个表中。但是,如果我将某些字段留空(虽然它们是必需的),则会出现此错误:AppCompany 类的对象在验证时无法转换为字符串。

拜托,你能帮我弄清楚我的错误吗?

4

0 回答 0