`
lesorb
  • 浏览: 121405 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CakePHP开发之controller设置之paginate

阅读更多
CakePHP中paginate是一个处理分页数据的函数.
配合helper(有关信息请关注后续文章)里的Paginator方法,可以很容易的做出分页列表页面.

首先:覆盖paginate变量,paginate变量的绍介请看前一篇(CakePHP开发之控制器-Controller).
它包含了条件,排序,分组,限制,表间关系等等...
如:

$this->paginate  = array('conditions'=>array('`Blog`.`user_id`'=>$user_id,'`Blog`.`status`'=>1),
									'order' =>array('`Blog`.`modified`' => 'DESC'),
									'limit' => 10
								);


它将显示user_id为$user_id,状态为1,的所有blog记录,且每页显示10条.

接下来,我们应该注意一些细节:如,您可能想让Blog的某些关联Model在此刻取消,那么,Model如何解除关联(unbind)呢?

我注意到,通常的在find方法里很有用的unbind方法并不起作用,

$this->Blog->unbind(array('belongsTo'=>array('BlogClass')));


原因是在find里在得到数据后,find会用model->resetAssociations();
把所有关联(Association)还原.
而paginate函数使用了两次find:一次是得到总数count,另一次才是得到分页显示的相关数据.
因此,给unbind的第二个参数里赋上'假'值.
如果unbind的第二个参数是true,cakephp会把需要解除关联的数据库保存到 model->__backAssociation里,当运行model->resetAssociations();会从 model->__backAssociation把相关的关联的数据还原.

解决:

$this->Blog->unbind(array('belongsTo'=>array('BlogClass')),false);



最后,在对应的view文件内,采用默认加载的helper变量和方法可以容易的搭建起view框架.
如:


<?php
echo $paginator->first(__('first', true), array(), null);
echo $paginator->prev(__('previous', true), array(), null);
echo $paginator->numbers();
echo $paginator->next(__('next', true), array(), null);
echo $paginator->last(__('last', true), array(), null);?>
注意:如果,你将条件写入了函数调用的参数内,那么,为了与helper相对应,你必须在view声明:如:

$paginator->options(array('url' =>$blogs['Blog']['user_id']));


此段code必须写在view页面的首部
.

如果忽略了,那么很遗憾,您的分页显示将出现异常.

0
0
分享到:
评论

相关推荐

    CakePHP开发框架

    CakePHP是一个快速开发PHP的开发框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的...

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    Cactus-CMS:Cactus CMS是基于cakephp 2框架的php内容管理系统

    CakePHP CakePHP是PHP的快速开发框架,它使用Active Record,关联数据映射,Front Controller和MVC等众所周知的设计模式。 我们的主要目标是提供一个结构化的框架,该框架使所有级别PHP用户都可以快速开发健壮的Web...

    CakePHP 3.5 开发手册文档 CakePHP Cookbook Documentation Release 3.5/共900页 PDF

    CakePHP 3.5 开发手册文档 CakePHP Cookbook Documentation Release 3.5/共900页 PDF

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;...CakePHP开发的网站源码参考;CakePHP的中文资料很少,大部分是英文的,希望对大家有用,谢谢!

    PHP的框架之CakePHP-CakePHP教程终极教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;...CakePHP开发的网站源码参考;CakePHP的中文资料很少,大部分是英文的,希望对大家有用,谢谢!

    一个利用cakephp开发的实例附带数据库

    主要功能有: 1. 小组成员可以查看,发布message 2. 小组成员可以发布新的idea,修改自己发布的idea。 2.1修改不会删除原来的idea,只是将原idea变成oldidea,这样可以看到一个idea是如何从不清晰的意向慢慢演变过来...

    CakePHP php框架 v3.7.0 beta1.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.8.5

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.7.8.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    cakephp最新开发文档

    欢迎共同学习?你的关注是我最大的动力???谢谢???

    cakephp的CMS教程

    是cakephp框架的内容,用cakephp开发了一个的简单的CMS系统教程。

    CakePHP v3.0.3.zip

    CakePHP是一个快速开发PHP的开发框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的...

    CakePHP PHP MVC框架

    CakePHP 一个开源PHP web 开发框架,PHPMVC结构框架,易与开发,是PHP技术人员的开发好的选择之一!

    cakephp php-framework

    There are two main ways to get a fresh copy of CakePHP. You can either download an archive copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download ...

    Learn CakePHP(Apress,2ed,2016)

    This short book shows you how to carry out test-driven development with fixtures, model tests, controller tests, mocks, and test suites. Learn CakePHP contains all you need to get started with the ...

    CakePHP 2.10.6.zip

    CakePHP是一个快速开发PHP的开发框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的...

    cakephp 框架

    cakephp 框架 cakephp 框架 cakephp 框架 cakephp 框架 cakephp 框架

    CakePHP:PHP快速开发框架-开源

    CakePHP 4.0.0 具有更新的应用程序骨架设计,带有简化的 API,使您的开发和应用程序更快。 虽然 4.0 包含许多重大更改,但我们准备了详尽的迁移指南,涵盖所有已弃用和删除的功能以及突出显示闪亮的新功能。 CakeDC...

Global site tag (gtag.js) - Google Analytics