Php yii echo CJSON::encode($dataProvider->;getData());重复上一页的数据

Php yii echo CJSON::encode($dataProvider->;getData());重复上一页的数据,php,yii,Php,Yii,我使用这个代码 public function actionPlacemenu() { $criteria = new CDbCriteria; $id=$_POST['x2']; if(!empty($id)) { $dataProvider=new CActiveDataProvider('AmakenMenu',array( 'criter

我使用这个代码

public function actionPlacemenu() 
    {       
        $criteria = new CDbCriteria;
        $id=$_POST['x2'];


        if(!empty($id))
        {
         $dataProvider=new CActiveDataProvider('AmakenMenu',array(
                     'criteria'=>array(
                                                'condition'=>'admin_active=1',
                                                'condition'=>'place_id=:projectId',
                                                'params'=>array(':projectId'=>"$id"),

                                )));
        $dataProvider->pagination->pageSize =1000000; 
        $dataProvider->pagination->pageVar = 'page';
        echo CJSON::encode($dataProvider->getData()); 
        }
    }
此代码将数据发送到Android应用程序。。。当我访问最终页面时,重复数据

例:第10页“最后一页”第11页、第12页。。。。重复相同的数据

有人有办法吗?

我的办法

$total=ceil($dataProvider->totalItemCount/10);
        if(isset($_GET['page']) &&  $_GET['page']>$total) 
        {
            die;
        }
$total->显示页数
使用'validateCurrentPage'=>false,每页记录的数量为10->num

样本结构:

$dataProvider = new CActiveDataProvider('LabOrderDetail', array(
        'criteria' => $criteria, 'pagination' => array('pageSize' => $pageSize ,'validateCurrentPage' => false)
    ));

这似乎是过滤器/条件问题。”“条件”在每个“条件”中只能使用一次,以避免覆盖它。如果您想合并这两个条件,我建议您使用类似这样的方式:“条件”=>“admin\u active=1和place\u id=:projectId”。另一个选项是使用$criteria->addCondition(…)(用于非常复杂和嵌套的条件)。我希望它能帮助你