【问题标题】:Yii2 views not receive variableYii2 视图不接收变量
【发布时间】:2016-04-21 00:46:52
【问题描述】:

我的页面 A 有链接:

<a href="/b?id=1"></a>

与控制器BController.php 类似:

...

public function actionB(){
         $id = Yii::$app->request->getQueryParam("id");
        $model= new TestModel();
        $data = $model->find()->where(["id" => $id])->one();
        return $this->render('b',["data"=>$data]);

}

A中的链接点击时,它会重定向到视图b 查看b.php 只显示值:

<?= $data->field_name?>

现在我在视图中看不到任何东西,确保在控制器中,我可以获取数据成功

请帮我看看有什么问题

【问题讨论】:

  • getQueryParam("i") ........ 应该是getQueryParam("id"),我想
  • 对不起,只是拼写错误,param get 在我的源代码中是正确的,我可以转储 $data 变量来查看它
  • 你可以试试$data = TestModel::find()-&gt;where(["id" =&gt; $id])-&gt;one(); return $this-&gt;render('b',["data"=&gt;$data]);
  • var_dump($data); 检查它是否包含任何数据。 .
  • 有什么错误吗?如果你只做return $this-&gt;render('b',["data"=&gt;"Hello world"]); 并在视图&lt;?= $data; ?&gt; 它会告诉你什么吗?如果会,----> 查询没有返回任何内容.....print_r($data) 显示什么?

标签: php yii2


【解决方案1】:

如果你想将 id 传递给 actionB,你应该使用

public function actionB($id){
     //$id = Yii::$app->request->getQueryParam("id");
    $model= new TestModel();
    $data = $model->find()->where(["id" => $id])->one();
    return $this->render('b',["data"=>$data]);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    相关资源
    最近更新 更多