2016-07-31 5 views
-1

나는 그런 행 나는 2 개 실 3 개 아파트와 날짜별로 정렬 1 개 방 4 개 아파트를 선택해야 Yii2와 MySQL

----------------------- 
id | created | rooms 
----------------------- 
1 | 2016-07-21 | 2 
2 | 2016-07-20 | 1 
3 | 2016-07-20 | 1 
4 | 2016-07-19 | 2 
5 | 2016-07-18 | 2 
6 | 2016-07-18 | 1 
7 | 2016-07-17 | 2 
8 | 2016-07-17 | 1 
----------------------- 

와 MySQL의 테이블 "플랫"가와 PHP - 발전기 (수율) (DESC). 선택한 정보 (3 평 및 4 평)는 첫 번째 사이트의 페이지에 있습니다. 다음 정보 (다음 3 및 4 아파트)를 선택해야합니다.

1) - yii2에서 페이지 매김을 사용하지 않고 mysql 오프셋을 사용하지만 php 생성기 (yield)를 사용하여 어떻게 할 수 있습니까? 2) - 더 좋은 방법은 무엇입니까? - 목적을위한 mysql 오프셋 또는 PHP 출력.

+0

무엇을 의미합니까? – rt188

+0

Yii2에서이 코드를 시작하는 방법조차 모릅니다 - 활성 쿼리와 생성기를 결합하는 방법 – rt188

답변

0

이 접근법에서는 이점이 없습니다. 프레임 워크 사용을 선택하고 이미 페이지 매김 (Pagination) 컴포넌트를 제공 할 때 특히 휠을 재창조해야하는 이유는 무엇입니까?

Pagination 문서에서 페이지 매김에 대한 내용을 읽을 수 있습니다. 예 : 페이지에

use yii\data\Pagination; 

// build a DB query to get all articles with status = 1 
$query = Article::find()->where(['status' => 1]); 

// get the total number of articles (but do not fetch the article data yet) 
$count = $query->count(); 

// create a pagination object with the total count 
$pagination = new Pagination(['totalCount' => $count]); 

// limit the query using the pagination and retrieve the articles 
$articles = $query->offset($pagination->offset) 
    ->limit($pagination->limit) 
    ->all(); 

링크가 yii\widgets\LinkPager 위젯으로 표시됩니다

use yii\widgets\LinkPager; 

echo LinkPager::widget([ 
    'pagination' => $pagination, 
]); 

그리고 yii\data\Pagination 구성 요소에 대한 몇 가지 세부 사항이 있습니다.

프레임 워크 기능을 익히고 사용하십시오. 예를 들어 GridView 위젯과 함께 ActiveDataProvider을 사용하는 경우 페이지 매김은 이미 내장되어 있으므로 사용자 요구 (페이지 당 항목 수 등)에 맞게 구성하고 내부 구현 (오프셋 등)에 대한 세부 사항은 신경 쓰지 않습니다. 그러나 그것이 어떻게 작동하는지 이해한다면 그것은 분명히 더 좋습니다.