Yii中每页列出的记录

时间:2011-12-14 09:33:23

标签: php frameworks yii

我是Yii的初学者。我使用views / myModel / index.php页面列出MySQL表中的所有记录。默认情况下,每页显示的记录数为10.如何更改?

2 个答案:

答案 0 :(得分:4)

首先,模型文件夹不应包含index.php。此文件夹包含与数据库表(CActiveRecords)和其他模型相关的所有类。

为了增加每页的记录数,您可以在CGridView或CListView中设置分页的页面大小。

public function actionIndex()
{
    $dataProvider=new CActiveDataProvider('Invoice',
        array(
            'criteria'=>array(
                'with'=>array('client'),
                'condition'=>'businessId='. Yii::app()->userInfo->business,
            ),
            'pagination'=>array('pageSize'=>20,),

        )
    );


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

答案 1 :(得分:1)

您也可以在代码中执行以下操作:

$criteria = new CDbCriteria;

$criteria->condition = "...";
$criteria->params = array();
$criteria->limit = 20;
$criteria->offset  = 0;
$records = YourModel::model()->findAll($criteria);  

其中limit是每页显示的记录数,offset是记录号开始的位置,您可以将其用作页码。