在cakephp的Paginate

时间:2013-05-20 11:59:53

标签: php cakephp

我正在使用cakephp来创建一个应用程序。 我在从控制器模型以外的模型中分页数据时遇到了麻烦。

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

在我的控制器中,我想在模型上使用cakephp paginate方法对提供者进行分页,如...

$this->Provider->paginate();

但是它导致了mysyl错误

但其他方法正常工作,如

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

在这种情况下如何实现分页。

2 个答案:

答案 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 } ?>

答案 1 :(得分:0)

paginate()在控制器中,而不是模型中。

您需要$this->paginate();,而不是$this->Provider->paginate();