未知方法 - yii \ base \ UnknownMethodException调用未知方法:yii \ web \ Request :: post()

时间:2016-09-16 13:24:57

标签: php yii2

我是yii2的新用户并且我创建了一个表单,但在加载页面时显示以下错误:

未知方法 - yii \ base \ UnknownMethodException

调用未知方法:yii \ web \ Request :: post()

studController中的代码

public function actionStudform()
    {
        $data = Stud::find()->asArray()->all();   

        $model = new Stud;
        if(($model->load(Yii::$app->request->post())) && $model->validate())
        {            
              echo "validate";
        }           
        else
        {
            return $this->render('studform',['model'=>$model,'data'=>$data]);
        }
    }

2 个答案:

答案 0 :(得分:1)

好的

我也遇到了这个问题,我也整理了

在yii2中你必须检查是否张贴了表格? 如果已发布表单,则必须提取数据或打印数据

尝试使用我的代码在我的情况下使用相同的错误

public function actionStudform()
    {
        $data = Stud::find()->asArray()->all();   

        $model = new Stud;
        $request = Yii::$app->request;
        if($request->isPost)
        {
            if(($model->load($request->post)) && $model->validate())
            {                    
                print_r($request->post['Stud']);
            }
            return $this->render('studform',['model'=>$model,'data'=>$data]);
        }
        else
        {
            return $this->render('studform',['model'=>$model,'data'=>$data]);
        }
    }

答案 1 :(得分:0)

在控制器中检查命名空间使用Yii

  

我认为这又是作曲家依赖解析器做出意想不到的事情:

     
      
  • 你的composer.json中需要yiisoft/yii2,但没有安装composer资产插件。
  •   
  • 然后依赖项解析程序找不到包含供应商bower-asset的包,因此它会查找没有冲突的其他版本的yiisoft/yii2
  •   
  • 结果是安装要安装的测试版yii2
  •   

如前所述,正确的解决方案是安装composer-asset-plugin

php composer.phar global require "fxp/composer-asset-plugin:1.0.*@dev"