怎么给cakephp分页函数限制与字段排序等,修改$this->paginate参数
一旦系统做大,用户多时不得不考虑优化查询数据的sql的字段问题,用什么字段查什么字段。
有两种方法可以解决:
1、给出当前控制器共有的查询条数字段等,比如:
var $paginate = array(
‘Note’ => array (
‘limit’ => 10,
‘order’ => array(‘Note.note_id’ => ‘desc’),
‘page’=>1)
);
这样在我查询note的时候会自动限制在10条,并按note_id排序的。
2、如果我不想用公用的限制条件怎么办,我想给当前的action自己的排序方法,或者限制的字段。
解决如下:
$this->paginate["User"]=array(
‘conditions’ => array(“User.user_id =”=>$this->Auth->user(‘user_id’)),
‘fields’ => array(‘User.user_id,User.user_icon,User.nickname’),
‘limit’ => ‘3′,
‘page’ => ‘1′
);
七月 15th, 2009 in
cakephp
文章不错
非常感谢。
请教个关于分页的问题,当我点击’下一页’的时候,就没有显示结果了,看了sql语句,好像是没有拿到’categories’的值,需要传值,怎么把id传进来呢
function view_in_category($id = null){
$this->paginate["Post"]=array(
‘limit’ => ‘1′,
‘order’ => array(‘Post.id’ => ‘desc’),
‘page’ => ‘1′
);
$this->set(‘categories’, $this->Category->findAll());
$this->set(‘posts’, $this->paginate(‘Post’,array(“Category_id =”=>$id)));
}
这是控制器代码
prev(‘<’disabled’));?>
numbers();?>
next(__(‘下一页’, true).’ >>’, array(), null, array(‘class’=>’disabled’));?>
这是视图代码
翻页的时候需要传入’categories’的id,怎么传入呢
修正上一个问题,当点击下一页的时候,是没有拿到’categoriy_id’的值
prev(‘<’disabled’));?>
numbers();?>
next(__(‘下一页’, true).’ >>’, array(), null, array(‘class’=>’disabled’));?>
这是视图代码
视图代码贴不上去,贴的不全,就是教程里用的分页代码
你少了一句话,你看看那个分页的模板文件,把那句话添加上就行,id就能传了
是哪句话啊 该怎么写呢 我一直不知道怎么弄啊
豪哥 你可一定要救救我啊
春节快到了,祝节日快乐,呵呵