laravel自定义分页效果
对于laravel分页,自带一个paginate的方法,很好用,但是也是有局限性的。
所以自己针对于此写了一个自己的分页,具体代码如下
page,$request->limit); */ publicstaticfunctionpaginateToArray($data,$page=1,$limit=10) { $isValidate=self::validate($data,$page,$limit);//验证 if($isValidate===false){ returnfalse; } $res=self::paginate($data,$page,$limit)->toArray();//分页数据转换为数组 //上一页||下一页=>path if($res['prev_page_url']!=null){ $prev_page=$page-1; $res['prev_page_url']=Paginator::resolveCurrentPath()."?page=".$prev_page."&limit=".$limit; } if($res['next_page_url']!=null){ $next_page=$page+1; $res['next_page_url']=Paginator::resolveCurrentPath()."?page=".$next_page."&limit=".$limit; } return$res; } /** *验证参数是否合法 */ publicstaticfunctionvalidate(&$data,&$page=1,&$limit=10) { $page=empty($page)?1:$page; $limit=empty($limit)?10:$limit; if(!is_array($data)&&!$datainstanceofCollection){ returnfalse;//"自定义分页方法只支持数组数据和集合数据"; } if(!is_numeric($page)||!is_numeric($limit)){ returnfalse;//"pagelimit参数只支持数字"; } if($datainstanceofCollection){ return$data=$data->toArray(); } return$data; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。