Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未知方法&x2013;yii\base\UnknownMethodException调用未知方法:yii\web\Request::post()_Php_Yii2 - Fatal编程技术网

Php 未知方法&x2013;yii\base\UnknownMethodException调用未知方法:yii\web\Request::post()

Php 未知方法&x2013;yii\base\UnknownMethodException调用未知方法:yii\web\Request::post(),php,yii2,Php,Yii2,我是yii2新手,我创建了一个表单,但是在加载页面时显示以下错误: 未知方法–yii\base\UnknownMethodException 调用未知方法:yii\web\Request::post() studController中的代码 public function actionStudform() { $data = Stud::find()->asArray()->all(); $model = new Stud;

我是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]);
        }
    }

我也面临着这个问题,我也解决了

在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]);
        }
    }

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

我认为这又是编写器依赖项解析器做了一些意想不到的事情:

  • 您需要composer.json中的
    yiisoft/yii2
    ,但未安装composer资产插件
  • 然后,依赖项解析程序找不到具有供应商
    bower资产的包
    ,因此它会查找没有冲突的
    yiisoft/yii2
    的其他版本
  • 其结果是安装要安装的yii2的beta版
如前所述,正确的解决方案是安装:


显示控制器的所有代码
php composer.phar global require "fxp/composer-asset-plugin:1.0.*@dev"