zoukankan      html  css  js  c++  java
  • laravel 5.4中手动创建分页

    这里是参考的的链接https://blog.csdn.net/hxx_yang/article/details/51753134

    use IlluminatePaginationLengthAwarePaginator;
    use IlluminatePaginationPaginator;
    public function index(Request $request)
    {
    ## 获取数据
    $menus=DB::table('sys_menu')->get();
    // $menusPage=DB::table('sys_menu')->paginate(10);

    $sysMenu = new SysMenu();
    $menusTree = $sysMenu->getTreeMenu($menus, $p_id = 0, $level = 0);

    $perPage = 10;
    if ($request->has('page')) {
    $current_page = $request->input('page');
    $current_page = $current_page <= 0 ? 1 :$current_page;
    } else {
    $current_page = 1;
    }

    $item = array_slice($menusTree, ($current_page-1)*$perPage, $perPage); //注释1
    $total = count($menusTree);

    $paginator =new LengthAwarePaginator($item, $total, $perPage, $current_page, [
    'path' => Paginator::resolveCurrentPath(), //注释2
    'pageName' => 'page',
    ]);

    $menuslist = $paginator->toArray()['data'];

    return view('menu.index', compact('menuslist', 'paginator'));

    }
    这里是核心代码
    主要是因为对数据取出的数据进行了二次处理 或者是 groupby出来的数据 进行分页
    blade模板的页面
    @foreach ($menuslist as $menu)
    <tr>
    <td class="text-center">
    <input type="checkbox" name="selected[]" value="{{$menu->id}}"/>
    </td>
    <td class="text-left">
    @if($menu->level == 1)
    &nbsp;&nbsp;&nbsp;&nbsp;
    @elseif($menu->level == 2)
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    @elseif($menu->level == 3)
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    @endif
    {{$menu->name}}</td>
    <td class="text-left">{{$menu->name_path}}</td>
    <td class="text-left">{{$menu->href}}</td>
    <td class="text-left">{{$menu->remarks}}</td>

    <td class="text-right">
    <a href="/menu/edit?id={{$menu->id}}" data-toggle="tooltip" title="编辑"
    class="btn btn-primary">编辑
    </a>
    </td>
    </tr>
    @endforeach
    </tbody>
    </table>
    </div>
    </form>
    <div class="pagers ">
    {!! $paginator->render() !!}
    </div>


  • 相关阅读:
    Linux几个常用的目录结构
    Linux 安装composer
    Elasticsearch修改network后启动失败
    php7 闭包调用
    php 爬虫框架
    file_get_contents('php://input') 和POST的区别
    PHP指定日期转时间戳
    .Net 站点跨域问题及解决方法
    C# 多线程学习系列一
    Nginx学习系列四默认负载均衡轮询及Ip_hash等常用指令介绍
  • 原文地址:https://www.cnblogs.com/djwhome/p/8862202.html
Copyright © 2011-2022 走看看