2012-06-18 2 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); 
      } 

Вот моя Paginator часть, на мой взгляд:

<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

Paginator просто не разбирается при нажатии на якоря. хотя маленькие стрелки появятся, и URL изменится. –

+0

Вы используете '$ results' для отображения * всех * данных? '$ records' не будут разбиты на страницы или отсортированы правильно, потому что вы не используете' Controller :: paginate() ', чтобы их найти (что вы можете использовать, и он будет использовать ту же сортировку для запроса). – jeremyharris

+0

Как я могу объявить еще один paginator? Не будет ли это просто переопределить параметры, которые я уже установил? –

ответ

1

Вы можете использовать постраничной несколько раз, так как это просто находка вызова. Он будет повторно использовать параметры, переданные Cake.

$records = $this->paginate(); 

Вы можете передать особые условия для этого вызова, если вам нужно.

Смежные вопросы