对thinkphp 分页的一次改造(改成Laravel类似的分页形式)

浏览:1233 发布日期:2015/11/05 分类:技术分享
最近喜欢上了Laravel 但是手头有个老项目 需要用到thinkphp

在分页上面蛋疼了
http://document.thinkphp.cn/manual_3_2.html#data_page
这是官网的分页方法
分页非常的常用 但是用这种方法每次分页都要敲很多重复的代码
为了使分页更加方便我便对Thinkphp的 Model 进行了简单的修改

修改成了方便的这种形式 (参考laravel的分页方式)$User->selectP();  
//中间可链接where  limit 等等 这个只是带分页的select
只在Model里添加一个public function 就OK了
路径在 Think/Library/Think/Model.class.php
在任意位置(class 内 function 外)粘贴这段代码public function selectP()
{
    //操作 存入到变量
    $options =  $this->_parseOptions($options);
    //取回操作
    $this->options=$options;
    //分页
    $_count      = $this->count();
    $_page       = new \Think\Page($_count,1);// 实例化分页类 传入总记录数和每页显示的记录数(25)
    $_res['list'] = $this->limit($_page->firstRow.','.$_page->listRows)->select($options);
    $_res['page'] = $_page->show();
    return $_res;
}
好 再看看现在我们需要分页的时候代码如何去写
$result=$User->selectP();
$this->assign('result',$result);


模板中我们使用 {$result.list}调用列表 用{$result.page} 去调取分页

额。。。 请大家踊跃回复啊,, 别一声不吭的收藏啊
本文为本人原创 转载请注明:http://hooklife.me/php/77.html
最佳答案
评论( 相关
后面还有条评论,点击查看>>