반응형
표에서 몇 개의 행을 선택하고 여러 페이지 (페이지 매김)로 렌더링하려고합니다. 다음은 모델의 코드입니다.
return new CActiveDataProvider('Downloads',
array(
'criteria' => array(
'select' => 'download_id,title,thumb_ext',
'order' => 'download_id DESC',
'limit' => $count,
),
'pagination' => array('pageSize' => 5,),
)
);
보기에서 CGridView를 사용하여 표시합니다.
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns' => array('download_id', 'title', 'thumb_ext'),
));
문제는 CActiveDataProvider가 기준 제한을 무시하고 테이블의 모든 행을 반환한다는 것입니다.
감사.
해결 방법
나는 긍정적이지 않지만 Yii는 LIMIT 절을 사용하여 SQL 결과 페이지 매김을 수행하므로 LIMIT 절을 덮어 쓰거나 대체합니다. CWebLogRoute 로그 경로를 켜서 정확히 어떤 SQL이 실행되고 있는지 확인할 수 있습니다.
어쨌든 이것이 어떻게 작동해야하는지 잘 모르겠습니다. 추가 한 LIMIT 절은 무엇입니까? 어쨌든 페이지를 매기는 경우 사용자가 모든 레코드를 통해 페이지를 매기는 것은 어떻습니까? 해결 방법은 기준을 변경하여 LIMIT 절을 제거하는 것입니다.
페이지 당 결과 수를 설정하려고합니까? 이미 pageSize를 5로 설정했습니다 ...
원하는 작업을 수행 할 수있는 또 다른 방법은 기본 Pager 클래스 인 CPagination을 확인하는 것입니다. CLinkPager를 사용하면 CGridView에서 사용하는 CListPager보다 더 창의적으로 페이지를 매길 수 있습니다.
행운을 빕니다!
참조 페이지 https://stackoverflow.com/questions/4561666
반응형
'MySql' 카테고리의 다른 글
MySQL 업데이트 용 MySQL (0) | 2020.10.25 |
---|---|
MySQL mysql GROUP_CONCAT 중복 (0) | 2020.10.25 |
MySQL-외래 키를 사용하여 여러 테이블에 삽입하는 방법 (0) | 2020.10.25 |
MySQL Java의 MySQL 데이터베이스 테이블에 시간 (HH : MM : SS)을 삽입하는 방법은 무엇입니까? (0) | 2020.10.25 |
MySQL 서버에서 처리 할 수있는 초당 MySql 쿼리는 몇 개입니까? (0) | 2020.10.25 |
댓글