微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-多个DataProviders Yii

嗨,我是Yii的新手,我想做的是我拥有酒店和它的物品,并且我想显示最高评价.所以在siteController中,我得到的数据很好.但我尝试获取多个dataproviders和渲染索引页,但无法识别已更改的dataprovider名称.

对于前

public function actionIndex()
    {
        // renders the view file 'protected/views/site/index.PHP'
        // using the default layout 'protected/views/layouts/main.PHP'

            $dataProviderHotel=new CActiveDataProvider('Hotel',array(
                'criteria'=>array(
                    'condition'=>'hotel_rating > 8',
                    ),
                    'pagination'=>array(
                        'pageSize'=>20,
                    ),
                ));

            $dataProviderItems = new CActiveDataProvider('Item',array(
                'criteria'=>array(
                    'condition'=>'hotel_rating > 8',
                    ),
                    'pagination'=>array(
                        'pageSize'=>20,
                    ),
                ));



            $this->render('index',array(
            'dataProvider'=>array($dataProviderHotel,$dataProviderItem),
        ));            
    }

并且在视图中抛出异常,即dataProviderHotel未定义
查看代码

<?PHP $this->widget('zii.widgets.CListView', array(
        'dataProvider'=>$dataProviderHotel,
        'summaryText'=>'',
        'itemView'=>'_topHotels',
)); ?>

解决方法:

应该是以下内容

$this->render('index',array(
        'dataProvider1'=>$dataProviderHotel,
        'dataProvider2'=>$dataProviderItem
    ));

然后在您看来:

 <?PHP $this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider1,
    'summaryText'=>'',
    'itemView'=>'_topHotels',
 )); 
 ?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐