Cakephp 不分页的可排序列标题?
我希望能够在不需要分页的情况下显示所有记录,但仍然希望通过使用$this->Paginator->sort这样的东西来保持具有可排序列标题的功能 目前我正在设置'limit'=>100,因为我知道我一次不会有超过50条记录,而且效果很好,然而,我想知道是否有一种基本上不需要分页就可以完成可排序列的方法,比如“limit”=>unlimited或者CakePHP的另一个组件 这是控制器:Cakephp 不分页的可排序列标题?,cakephp,cakephp-2.0,cakephp-2.1,Cakephp,Cakephp 2.0,Cakephp 2.1,我希望能够在不需要分页的情况下显示所有记录,但仍然希望通过使用$this->Paginator->sort这样的东西来保持具有可排序列标题的功能 目前我正在设置'limit'=>100,因为我知道我一次不会有超过50条记录,而且效果很好,然而,我想知道是否有一种基本上不需要分页就可以完成可排序列的方法,比如“limit”=>unlimited或者CakePHP的另一个组件 这是控制器: class GroupsController extends AppController { pub
class GroupsController extends AppController {
public function view($slug = null) {
$group = $this->Group->findBySlug($slug);
$this->paginate = array(
'Person' => array(
'conditions' => array('Person.group_id' => $group["Group"]['id']),
'limit' => 100,
'recursive' => 0
)
);
$people = $this->paginate('Person');
$this->set('people', $people);
}
}
以下是观点:
<table>
<tr>
<th><?php echo $this->Paginator->sort('Person.id','Id'); ?></th>
<th><?php echo $this->Paginator->sort('first_name', 'First Name'); ?></th>
<th><?php echo $this->Paginator->sort('last_name', 'Last Name'); ?></th>
</tr>
<!-- Here is where we loop through the people -->
<?php foreach ($people as $person): ?>
<tr>
<td><?php echo $person['Person']['id']; ?></td>
<td><?php echo $person['Person']['first_name']; ?></td>
<td><?php echo $person['Person']['last_name']; ?></td>
</tr>
<?php endforeach; ?>
<?php unset($player); ?>
</table>
它是处理列排序的分页组件。如果你不想使用分页器,为什么不呢?您必须编写自己的代码才能做到这一点 您可以对代码做的一个小调整是:
'limit' => $this->Group->find('count')
这将确保您始终有足够的限制来显示完整的表。处理列排序的是分页组件。如果你不想使用分页器,为什么不呢?您必须编写自己的代码才能做到这一点 您可以对代码做的一个小调整是:
'limit' => $this->Group->find('count')
这将确保您始终有足够的限制来显示完整的表格。我不想使用分页的原因是因为我想一次显示完整的团队名册。我不想分页。我很喜欢“limit”=>$this->Group->find'count”的建议,但是它增加了一个额外的数据库查询。@bigmike7801$this->Paginator->sort的作用是再次获取记录,但是按照它所使用的列进行排序,并按照以下顺序首先单击:ASC,然后单击DESC,然后单击nextClick ASC。。。没有理由不想只使用排序功能。另外,对于一个从未有超过50条记录的表,额外的计数查询也不会是一项开销,您至少会有一个主索引,那么计数*应该为0.0001秒。我不想使用分页的原因是因为我想一次显示完整的球队名单。我不想分页。我很喜欢“limit”=>$this->Group->find'count”的建议,但是它增加了一个额外的数据库查询。@bigmike7801$this->Paginator->sort的作用是再次获取记录,但是按照它所使用的列进行排序,并按照以下顺序首先单击:ASC,然后单击DESC,然后单击nextClick ASC。。。没有理由不想只使用排序功能。另外,对于一个从未有超过50条记录的表,额外的计数查询也不会是一项开销,您至少会有一个主索引,那么计数*应该为0.0001秒。关于这一点,我同意@RichardAtHome-没有理由不使用Paginator-如果你不想要页面,只需将限制设置为无法访问的数字。我同意@RichardAtHome-没有理由不使用Paginator-如果你不想要页面,只需将限制设置为无法访问的数字。