Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在post yii上显示评论_Yii - Fatal编程技术网

在post yii上显示评论

在post yii上显示评论,yii,Yii,我只想显示属于每个帖子的评论 我已经这样做了: 在Postview.php中,我呈现了一个视图: <?php $this->renderPartial('/TblComments/_comment',array( 'comments'=>$model_comments, )); 现在的问题是: Undefined variable: data 我不知道为什么?请解释并帮助我 这是因为您没有将$data变量传递给\u comment.php

我只想显示属于每个帖子的评论

我已经这样做了: 在Post
view.php
中,我呈现了一个视图:

<?php 

 $this->renderPartial('/TblComments/_comment',array(

     'comments'=>$model_comments,
        ));
现在的问题是:

Undefined variable: data 

我不知道为什么?请解释并帮助我

这是因为您没有将
$data
变量传递给
\u comment.php
,在调用
renderPartial()
时,您只传递了
$comments
变量

像上面的例子一样,采用
$data
参数的文件通常设计为在CListView或类似文件中使用,您需要传递一个而不是一个数组(我假设
$model\u comments
是什么?)

CListView接受一个数据提供程序,并将数据提供程序中的每个记录转换为
$data
变量(如您在
\u comments.php
文件中看到的)

假设
$model\u comments
是模型的“comments”关系,这应该是一个模型对象数组?如果在这种情况下,您不必创建新的CDATA提供程序来与CListView一起使用,您可以使用将该关系数组转换为可在CListView中使用的数据提供程序。所以像这样的事情可能对你有用

$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>new CArrayDataProvider($model_comments, array()),
    'itemView'=>'/TblComments/_comment',
));
未经测试,您可能需要根据口味进行编辑。

我认为您应该能够解决此问题,如果没有,请显示呈现view.php文件的控制器操作
$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>new CArrayDataProvider($model_comments, array()),
    'itemView'=>'/TblComments/_comment',
));