laravel 5.4中手动创建分页
这里是参考的的链接https://blog.csdn.net/hxx_yang/article/details/51753134
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
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)
@elseif($menu->level == 2)
@elseif($menu->level == 3)
@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>
laravel 5.4中手动创建分页的更多相关文章
- 【转载】 C#中手动创建一个DataTable对象并写入数据
在C#操作集合数据的过程中,有时候需要手动创建一个DataTable对象,并手动设置DataTable对象的Columns列名等信息,最后再往手动创建的DataTable对象中写入相应的数据信息,此时 ...
- 如何在JavaScript中手动创建类数组对象
前言 关于什么是js的类数组对象这里不再赘述.可以参考这个链接,还有这里. js中类数组对象很多,概念简单的讲就是看上去像数组,又不是数组,可以使用数字下标方式访问又没有数组方法. 例: argume ...
- laravel在控制器中动态创建数据表
Schema::connection('usertable')->create('test', function ($table) { $table->increments('id'); ...
- 无法写入配置文件...需要在IIS中手动创建此虚拟目录,才可以打开此项目
无妄之灾 之前闲着没事写了一个webapi项目,今天下了班闲来无事就像拿出来改改,没想到打开的时候就提示出现错误. 没错就是这货,其实也不是第一次遇见这个问题了,但是之前一直没有找到解决方案,在网 ...
- php 手动创建分页
- [ Laravel 5.5 文档 ] 数据库操作 —— 在 Laravel 中轻松实现分页功能
 简介 在其他框架中,分页是件非常痛苦的事,Laravel 让这件事变得简单易于上手.Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,并开箱提供方便的.易于使用的.基于 ...
- laravel手动数组分页
laravel文档中已经有写如何自己使用分页类去分页了,但没有详细说明. 如果你想手动创建分页实例并且最终得到一个数组类型的结果,可以根据需求来创建 IlluminatePaginationPagin ...
- Laravel中我们登录服务器通过 Tinker 手动创建后台管理用户
Laravel中我们可以登录到服务器通过 Tinker 手动创建后台用户 laravel中tinker命令的作用是用来调试laravel,可以打印变量或对象信息,显示函数代码,对数据库写入和查询数据. ...
- Spring Boot中利用递归算法查询到所有下级用户,并手动进行分页
Spring Boot中利用递归算法查询到所有下级用户,并手动进行分页 前提:语言用的是kotlin(和Java一样,但更简洁),写下这篇文章用来记录编程过程中遇到的一些难点 1.功能需求 前端用户A ...
随机推荐
- MySQL 8 新特性之Invisible Indexes
背景 索引是把双刃剑,在提升查询速度的同时会减慢DML的操作.毕竟,索引的维护需要一定的成本.所以,对于索引,要加上该加的,删除无用的.前者是加法,后者是减法.但在实际工作中,大家似乎更热衷于前者,而 ...
- js 逻辑运算符优化
运算符的代码优化,可以精简代码,提高代码可读性 下面主要讨论下逻辑运算符与 &&, 或||. 示例: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头: 成长速度为10显示2个箭 ...
- Space Golf~物理题目
Description You surely have never heard of this new planet surface exploration scheme, as it is bein ...
- C入门语言基础一[可移植性、涉及的三种文件、编程7个步骤、编译器、链接器]
Review Questions What dose portability mean in the context of programming? 文中讲到的可移植性是什么意思? C本身是不涉及 ...
- windows下virtualenv中安装MySQL-python
先在正常的环境下安装 MySQL-python-1.2.3.win-amd64-py2.7.exe (用everything搜索一下就出来) 然后到 C:\Python27\Lib\site-pack ...
- BOM和DOM的区别
一.BOM和DOM之间的关系图 window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象由于window是顶层对象,因此调用它的子对象时可以不显示的指明 ...
- Python_数据整理与写入
''' 假设文件data.txt中有若干整数,整数之间使用英文逗号分隔.编写程序读取所有整数,将其按升序后再写入文本文件datta_asc.txt中 ''' import random countNu ...
- cw2vec理论及其实现
导读 本文对AAAI 2018(Association for the Advancement of Artificial Intelligence 2018)高分录用的一篇中文词向量论文(cw2ve ...
- Lucene入门简介
一 Lucene产生的背景 数据库中的搜索很容易实现,通常都是使用sql语句进行查询,而且能很快的得到查询结果. 为什么数据库搜索很容易? 因为数据库中的数据存储是有规律的,有行有列而且数据格式.数 ...
- wireshark使用方法
抓取报文: 下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包.例如,如果想要在无线网络上抓取流量,点击无线接口.点击Capture Opti ...