Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/cakephp/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 不分页的可排序列标题?_Cakephp_Cakephp 2.0_Cakephp 2.1 - Fatal编程技术网

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

我希望能够在不需要分页的情况下显示所有记录,但仍然希望通过使用$this->Paginator->sort这样的东西来保持具有可排序列标题的功能

目前我正在设置'limit'=>100,因为我知道我一次不会有超过50条记录,而且效果很好,然而,我想知道是否有一种基本上不需要分页就可以完成可排序列的方法,比如“limit”=>unlimited或者CakePHP的另一个组件

这是控制器:

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-如果你不想要页面,只需将限制设置为无法访问的数字。