yii2无法在控制器中获取视图传递参数

时间:2017-08-24 13:14:08

标签: yii2

任何人都可以告诉我为什么我得到这个错误? (参数设置我可以通过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'])?>

1 个答案:

答案 0 :(得分:2)

经过几个小时+深度搜索后我发现我的控制器名称空间是yii ** base ** \ Controller;它应该是使用yii ** web ** \ Controller; 我希望它可以帮助一些yii2用户减少调试时间