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