时时商务社区

标题: laravel自定义分页效果 [打印本页]

作者: 网络通达    时间: 2018-2-14 05:24

            对于laravel分页,自带一个paginate的方法,很好用,但是也是有局限性的。
所以自己针对于此写了一个自己的分页,具体代码如下
page, $request->limit);
   */
  public static function paginateToArray($data, $page = 1, $limit = 10)
  {
    $isValidate = self::validate($data, $page, $limit);           //验证
    if ($isValidate === false) {
      return false;
    }
    $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;
  }
  /**
   * 验证参数是否合法
   */
  public static function validate(&$data, &$page = 1, &$limit = 10)
  {
    $page = empty($page) ? 1 : $page;
    $limit = empty($limit) ? 10 : $limit;
    if (!is_array($data) && !$data instanceof Collection) {
      return false;//"自定义分页方法只支持数组数据和集合数据";
    }
    if (!is_numeric($page) || !is_numeric($limit)) {
      return false;//"page limit 参数只支持数字";
    }
    if ($data instanceof Collection) {
      return $data = $data->toArray();
    }
    return $data;
  }
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
            
            
您可能感兴趣的文章:
  • PHP框架Laravel插件Pagination实现自定义分页
  • Laravel+jQuery实现AJAX分页效果
  • Laravel手动分页实现方法详解
  • laravel实现分页样式替换示例代码(增加首、尾页)
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2