修改了 yii 中模型的对象名


Modification of objectname of model in yii

我有一个模型技能.php。在*技能控制器中.php*我有由crud生成的操作创建方法

actionCreate(){
   $model=new Skill;
       }

当我将$model更改为$modelSkill时,它会显示错误。为什么?

public function actionCreate()
    {
        $model=new Skill;
        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);
        if(isset($_POST['Skill']))
        {
            $model->attributes=$_POST['Skill'];
            if($model->save())
                $this->redirect(array('view','id'=>$model->skill_id));
        }
        $this->render('create',array(
            'model'=>$model,
        ));
    }

更改为$modelSkill后

public function actionCreate()
    {
        $modelSkill=new Skill;
        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($modelSkill);
        if(isset($_POST['Skill']))
        {
            $modelSkill->attributes=$_POST['Skill'];
            if($modelSkill->save())
                $this->redirect(array('view','id'=>$modelSkill->skill_id));
        }
        $this->render('create',array(
            'model'=>$modelSkill,
        ));
    }

我想我发现了你的失败。可能是您在视图文件中也替换了它吗?如果是,您还需要更改此设置:

$this->render('create',array(
    'model'=>$modelSkill,
));

对此:

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

正如你在 Yii 文档中看到的,数组将被放入函数 extract() 中。