Yii2 isnewrecord生成异常

时间:2018-03-31 21:50:24

标签: yii2

在yii2设置中,我有多个模型 - 一个是一对多,表格中有重复字段,我可以编辑字段集或添加新记录。

但我面临重复密钥错误的问题。

为了克服同样的问题,我正在尝试这段代码:

try{
     $userchild->save();
    }
    catch(\Exception $e){
    $userchild->isNewRecord = false;
    $usrchild->save();
}

但我得到例外:

Unknown Method – yii\base\UnknownMethodException
Calling unknown method: app\controllers\UserController::setIsNewRecord()

我在这里缺少什么?

使用更多代码进行更新:

if ($model->load(Yii::$app->request->post()) && $profile->load(Yii::$app->request->post()) && $billinginfo->load(Yii::$app->request->post()) ) {

    $model->username = $model->email;
    $model->save();
    $profile->save();
    $billinginfo->save();
    if (!empty($_POST['UserChildren']) && !is_null($_POST['UserChildren'])) {
     foreach($_POST['UserChildren'] as $rows){

           $userchild = New UserChildren;                            
           $userchild->user_id = $model->id; 
           $userchild->id =$rows['id'];
           $userchild->attributes=$rows;  
           try{
                $userchild->save();
              } catch(\Exception $e){                            
                $userchild->setIsNewRecord(false);
           $usrchild->save();
            }
       }

  }        

现在我收到了错误:

Unknown Property – yii\base\UnknownPropertyException
Getting unknown property: app\models\UserChildren::_attributes     

1 个答案:

答案 0 :(得分:0)

如果你想配置你应该使用的属性

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
    }
}

https://www.yiiframework.com/doc/api/2.0/yii-base-model# $属性细节