【问题标题】:Variable not being to view by controller变量不被控制器查看
【发布时间】:2012-06-05 06:44:05
【问题描述】:

控制器动作

public function actionCreate()
{
    $model=new News;
    $contentModel = new NewsContent;
    // if I do a `var_dump( $contentModel )` here, I get variable dump correctly

    $this->render('create',array(
        'model'=>$model,
        'contentModel'=>$contentModel,
    ));
}

查看

<?php var_dump( $model ); // dumps the variable correctly ?> 
<?php var_dump( $contentModel ); // dumps null ?>

那么为什么contentModel 没有被传递给视图而model 被传递?

请注意,我已确认我引用了正确的视图。我通过不传递model 变量并在视图中看到null 转储代替原始变量转储来对此进行了测试

【问题讨论】:

  • 你是在创建视图还是在_form视图?
  • 叹息!就是这样。我在这上面花了一个多小时,结果证明问题就在眼前。
  • 开头很常见的错误:)
  • 是的,说明我是新手。您想将其发布为答案,以便我接受。可能会帮助其他寻找相同的人。

标签: php yii variable-assignment


【解决方案1】:

actionCreateactionUpdate 分别渲染 createupdate 视图,但两个视图也部分渲染了 _form 视图,基本上所有内容都在其中显示。

另外,看看这个,对我了解 Yii 帮助很大。 Understanding the view rendering flow

【讨论】:

    【解决方案2】:

    尝试删除逗号 (",")

    $this->render('create',array(
        'model'=>$model,
        'contentModel'=>$contentModel
    ));
    

    【讨论】:

    • 恐怕你不熟悉基本的PHP语法。
    猜你喜欢
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多