onunix 2012-05-22 11:21:01 3649次浏览 5条回复 0 0 0

请问CListView对应的查询语句在哪个文件中,我想修改下查询语句,加个查询条件。

<?php $this->widget('zii.widgets.CListView', array(
	'dataProvider'=>$dataProvider,
	'itemView'=>'_view',
)); ?>
  • 回复于 2012-05-22 13:59 举报

    我本来是把

    $this->widget('zii.widgets.grid.CGridView', array(
            'dataProvider'=>$model->search(),
            'filter'=>$model,
    

    的查询语句修改了,增加了一个自己写的条件,便希望CListView也用这个查询语句,但是把CListView对应的代码中的'dataProvider'改一下,发现编译不过:

    <?php $this->widget('zii.widgets.CListView', array(
           //'dataProvider'=>$dataProvider,
           'dataProvider'=>$model->search(),//这里编译不过
            'itemView'=>'_view',
    )); ?>
    
  • 回复于 2012-05-22 15:08 举报
    public function actionIndex()
    {
        $criteria=new CDbCriteria(array(
            'order'=>'story_id DESC',
        ));
    		
        $dataProvider=new CActiveDataProvider('stories', array(
        'pagination'=>array(
            'pageSize'=>15,
            'pageVar'=>'p',
        ),
        'criteria'=>$criteria,
    ));
        	
    $this->render('index',array(
        'dataProvider'=>$dataProvider,
    ));
        	
    }
    

    在控制器里面修改

  • 回复于 2012-05-22 15:36 举报

    我做了如下修改:

    public function actionIndex()
    {
        $dataProvider=new CActiveDataProvider('User');
        $this->render('index',array(
            //'dataProvider'=>$dataProvider,
            'dataProvider'=>$model->search(),//修改在这里
        ));
    }
    

    但是,编译报错,Undefined variable: model ,请问该如何修改呢?

  • 回复于 2012-05-22 15:45 举报

    多谢,直接修改这里面的规则成功了,只是好像不能直接把 $model->search 用过来。

  • 回复于 2012-05-22 16:24 举报

    我也是个新手,才来十几天,不太懂,刚开始的时候和你的想法一样,后来见别人都这么用了,我就这么用了。.等高手吧。我个人觉得dataProvider应该CActiveDataProvider的实例。。也许是这样。。。

您需要登录后才可以回复。登录 | 立即注册