2011-07-27 6 views
0

CakePHP에 "아키텍처"문제가 있습니다.CakePHP와의 효율적인 페이지 매김

나는 페이지 매김을해야하는데, 이는 쉽게 보일 수 있습니다. $ paginate 배열과 페이지 매김 메서드를 사용하지만 많은 제한이 있습니다.

내 컨트롤러의 여러 메서드에서 동일한 모델의 다른 필드를 반환해야하며 두 경우 모두 페이지 매김을해야합니다. 이 사실로 인해 $ paginate 배열에있는 모든 필드를 언급하게되고 이러한 필드가 필요하지 않을 때 성능이 저하 될 수 있습니다.

다른 방법으로 다른 페이지 매김 규칙을 깨끗하게 설정하려면 어떻게해야합니까?

은 (내가 다른 배열을 사용하여 생각하고 런타임에 특정 배열 페이지를 매기는 $에 할당,하지만 난 그것을 할 수있는 "공식 주제 방법"가 있는지 알고 싶어요) : 사전에

감사합니다.

답변

1

테이블에 많은 수의 필드가 없으면 케이크를 모두 쿼리 할 수 ​​있다고 생각합니다. 성능이 크게 다르지 않아야합니다.

을 지정할 수있는 다른 페이지 매김 세트 : 다음 $data = $this->paginate('Recipe');

http://book.cakephp.org/view/1232/Controller-Setup

0

이 이미하고있는 일이면 나도 몰라,하지만 난 생각

var $paginate = array(
    'Recipe' => array (...), 
    'Author' => array (...) 
); 

이미 충분히 깨끗합니다.

모든 방법에서 사용하려는 필드가있는 경우 783,

당신은 또한 다음과 같이 그것을 할 수 :

var $paginate = array (
    'fields' => array('always_need_this', 'also_need_this_always',) 
); 
function foo() { 
    array_push($this->paginate['fields'], 'only_in_foo', 'also_only_in_foo'); 
    /* rest of the method */ 
} 
function bar() { 
    array_push($this->paginate['fields'], 'only_in_bar', 'also_only_in_bar'); 
    /* rest of the method */ 
}