任何人都可以告诉我为什么我得到这个错误? (参数设置我可以通过echo得到它)
Too few arguments to function app\controllers\admin\SiteDeveloperController::actionView(), 0 passed and exactly 1 expected
+信息 我通过mycontroller indexaction将用户身份传递给查看文件,因此我可以使用$ user-> id访问用户ID;
public function actionIndex()
{
$this->layout = "site-developer";
if (Yii::$app->user->can('superuser')) {
if (!Yii::$app->user->isGuest) {
$user = Yii::$app->user->identity;
return $this->render("index", [
'user' => $user
]);
} else {
echo "you cant access this";
}
} else {
throw new ForbiddenHttpException("you cant access this");
}
}
没有我试图将当前的$ user-> id传递给mycontroller actionView ...但它说(ArgumentCountError) 0通过,恰好1预期)
public function actionView($id)
{
$mode = $this->findModel($id);
print_r($mode);
//return $this->render("view");
}
这是将id传递给控制器动作的按钮
<?= Html::a('<span class="glyphicon glyphicon-user"></span><br>پروفایل',['view','id' => $user->id],['class' => 'btn btn-primary btn-lg'])?>
答案 0 :(得分:2)
经过几个小时+深度搜索后我发现我的控制器名称空间是yii ** base ** \ Controller;它应该是使用yii ** web ** \ Controller; 我希望它可以帮助一些yii2用户减少调试时间