fairy_demon 2011-08-03 14:13:02 4103次浏览 6条回复 0 0 0

yii models里面的search类里面怎样用limit 0,12这样的形式

'pagination'=>array(
  'pageSize'=>12
),

这个是分页里面从0,12的结果 我怎样接着这个结果取13,24的结果.....

CActiveDataProvider里面pagination里面有个pageSize,可以加一个从第几条记录开始分页吗就像offset那样

  • 回复于 2011-08-03 14:55 举报

    它不是也有个offset属性吗?

  • 回复于 2011-08-03 14:59 举报

    说的没错,应该是criteria的offset属性!

  • 回复于 2011-08-03 15:05 举报
    return new CActiveDataProvider('WriteDatabase',array(
      'criteria'=>$criteria,
      'sort'=>array(
        'defaultOrder'=>'t.id asc',
      ),
      'pagination'=>array(
        'pageSize'=>12,
        'offset' => 13,
      ),
    ));
    

    这样么,好像报错.......

    return new CActiveDataProvider('WriteDatabase',array(
      'criteria'=>$criteria,
      'pagination'=>array(
        'pageSize'=>12,
        'currentPage' => 2,
      ),
    

    这样直接取第二页也没效果

  • 回复于 2011-08-03 15:17 举报

    应该是criteria的offset属性!

  • 回复于 2011-08-03 15:18 举报

    查一下API就明白了!

  • 回复于 2011-08-15 16:06 举报
    $criteria=new CDbCriteria;
    $criteria->with='user';
    $criteria->compare('id',$this->id);
    $criteria->compare('article_id',$this->article_id);
    $criteria->compare('article_user_id',$this->article_user_id);
    $criteria->compare('user_school_id',$this->user_school_id);
    $criteria->compare('creat_time',$this->creat_time,true);
    $criteria->limit=12;
    $criteria->offset=13;
    return new CActiveDataProvider(get_class($this), array(
      'criteria'=>$criteria,
    ));
    }
    

    这样用就没效果,我要去13到24之间的结果.........

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