2013-05-20 3 views
0

Я использую cakephp для создания приложения. Я столкнулся с проблемой с разбивкой по страницам модели, отличной от модели контроллера.Paginate in cakephp

var $uses = array('Admin.Provider','Admin.Page'); 

И в моем контроллере я хочу постраничные провайдер с использованием метода CakePHP постраничного на модели, как ...

$this->Provider->paginate(); 

, но это приводит к mysyl ошибке

Бца других методов работают хорошо например

$this->Provider->find('list') 

Как я могу достичь разбивки на страницы в этом случае.

+0

http://book.cakephp.org/2.0/en/controllers.html –

ответ

0

paginate() находится в контроллере, а не в модели.

Вы хотите $this->paginate();, а не $this->Provider->paginate();.

+0

но контроллер не имея таблицу сказать свой домашний контроллер без какой-либо таблицы. Но я хочу загрузить поставщиков и использовать их с разбивкой по страницам. –

1
$this->paginate = array(
        'conditions' => array('AND'=> 
        array(
         'modelname.fieldname'=>$this->id 
        )), 
        'limit' => 10, 
        'order'=>array('modelname.fieldname')); 
       $sponsors = $this->paginate('modelname'); 

    $this->set('sponsors', $sponsors); 


// use in ctp 

<?php if(!empty($sponsors)){ ?> 
      <div class="paging-container"> 
       <div class="paging gnrl-pading"> 
        <a href="#"> <?php echo $paginator->prev('<<',array('class' => 'prev')); ?></a> 
        <ul class="pagenos"> 
         <li> 
          <?php echo $paginator->numbers(array('separator'=>' ')); ?> 
         </li> 
        </ul> 
        <a href="#"><?php echo $paginator->next('>>', array('class' => 'next')); ?></a> 
        <p class="page-indic"> 
         Page <?php echo $paginator->counter(); ?> 
        </p> 
       </div> 
      </div> 
      <?php } ?> 
+0

«И» не требуется. – Dave

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