2011-12-14 9 views
1

私はYiiの初心者です。 views/myModel/index.phpページを使用して、MySQLテーブルのすべてのレコードを一覧表示しています。デフォルトでは、ページあたりに表示されるレコードの数は10です。どのように変更できますか?1ページに記載されているYiiのレコード数

答えて

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, 
      )); 
    } 
+0

モデルのモデル名/ index.php – mahesmohan

+0

だから、私はpageSize ''pagination' => array( 'pageSize' => 8)'を変更するだけでいいのですか? 私はそれを試して、例外をロールバックする_ "CDbCriteria.pagenation"は定義されていません。 – mahesmohan

+0

"CDbCriteria.pagenation"は正しいですか? PEGENATION –

1

あなたはまた、あなたのコード内でこのような何かを行うことができます。

制限は、レコードの数がされているページごとに表示し、相殺することである
$criteria = new CDbCriteria; 

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

どことして使用することができますレコード番号開始、あなたのページ番号。