2012-06-18 4 views
0

여러 표를 보여주는 스크린 샷에 가입했습니다. paginator는 모두 동일한 쿼리에서 비롯된 것이지만 여러 개의 "표시된"테이블에 대해 작업하고 싶습니다. 'Id'열은 많은 열 중 하나입니다. 내보기에 여기CakePHP : 여러 HTML 표를 한 번에 정렬

var $paginate = array(
      'limit' => 1000); 

    function index() { 
      $this->Immeuble->recursive = 1; 
      $this->Immeuble->contain('Agence'); 
      $this->set('results', $this->paginate()); 
      $agences = $this->Immeuble->find('count', array('fields' => 'DISTINCT Agence.Nom')); 
      $this->set('agences',$agences); 
      $ii = 0; 
      $records = $this->Immeuble->find("all",array('fields'=>'Immeuble.id,Immeuble.image,Immeuble.description,Immeuble.start_date,Immeuble.end_date$ 
      $this->set('records',$records); 
      } 

내 매기기 부분 :

<tr> 
         <th><?php echo $this->Paginator->sort('Id','id'); ?></th> 
         <th><?php echo $this->Paginator->sort('description');?></th> 
         <th><?php echo $this->Paginator->sort('start_date');?></th> 
         <th><?php echo $this->Paginator->sort('end_date');?></th> 
         <th><?php echo $this->Paginator->sort('image');?></th> 
         <th><?php echo $this->Paginator->sort('ordre');?></th> 
         <th><?php echo $this->Paginator->sort('agence_id');?></th> 
         <th class="actions"><?php __('Actions');?></th> 
</tr> 

Sorting won't work, it'll just order ASC, not DESC.

+0

앵커를 누를 때 페이징 처리기가 정렬되지 않습니다. 작은 화살표가 나타나고 URL이 바뀌지 만 –

+0

'$ results'를 사용하여 데이터의 * all *을 표시하고 있습니까? '$ records'는 ​​페이지를 찾기 위해'Controller :: paginate()'를 사용하지 않기 때문에 적절히 정렬/정렬되지 않습니다 (할 수 있고 요청에 대해 동일한 정렬을 사용합니다). – jeremyharris

+0

실제로 다른 페이징 담당자를 어떻게 선언합니까? 이미 설정 한 매개 변수를 재정의하지 않습니까? –

답변

1

당신은 그냥 찾기 호출이기 때문에, 여러 번 페이지를 매기는 사용할 수 있습니다. Cake가 전달한 매개 변수를 재사용합니다.

$records = $this->paginate(); 

필요한 경우이 통화에 특별한 조건을 전달할 수 있습니다.