需求: 手机端有个列表页,需要通过ajax 分页查询到 laravel 中,分页查询
实现方案:如下
public function page(Request $request,$num){
$page = $request->input('page', ''); // 获取当前页数
if(empty($page)) {
$page = 1;
}
$count = Article::select('title')->count(); // 查询数据总条数
$rev = $num; // 每页显示条数
$sums = ceil($count / $rev); // 求总页数
$pages = array(); // 页数
for ($i = 1; $i <= $sums; $i++) {
$pages[$i] = $i;
}
$prev = ($page - 1) > 0 ? $page - 1 : 1; // 设置上一页
$next = ($page + 1) < $sums ? $page + 1 : $sums; // 设置下一页
$offset = ($page - 1) * $rev; // 求偏移量
$data = Article::where('display', 0)->orderBy('time', 'desc')->skip($offset)->take($rev)->get(); // 跟据条件查询数据
return array(
'data' => $data,
'prev' => $prev,
'next' => $next,
'page' => $page,
'pages' => $pages,
'sums' => $sums,
'count' => $count
);
}