我正在使用cakephp来创建一个应用程序。 我在从控制器模型以外的模型中分页数据时遇到了麻烦。
var $uses = array('Admin.Provider','Admin.Page');
在我的控制器中,我想在模型上使用cakephp paginate方法对提供者进行分页,如...
$this->Provider->paginate();
但是它导致了mysyl错误
但其他方法正常工作,如
$this->Provider->find('list')
在这种情况下如何实现分页。
答案 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();
。