分页查询

通常情况。我们在分页显示数据的时候。会传个分页参数。比如在url后带个page?=2。这边的2表示是第二页。

对应的php代码通常是这样:

//controller 中接收当前页数
$page = Input::getInt('page', 1);
$page < 1 && $page = 1;

//model中根据传过来的$page查询
$this->db()->table('user')
->select(($page - 1) * Config::get('page_nums'), Config::get('page_nums'));//page_nums为配置中配置的每页显示多少条

每次都要接收page参数。并判断有效性,select方法每次都要计算从哪一条开始。

为了节省这个步骤从v2.7起db中添加了paginate方法。即上面的代码可简化为

$this->db()->table('user')->paginate(Config::get('page_nums'));

paginate方法内部会自动获取page参数并判断是否合法,然后根据传入的条数自动计算并以合适的参数调用select

results matching ""

    No results matching ""