今天就碰到这样的一个问题?想在一个页面里面放两个列表,并且两个列表都可以进行分页。

但是,laravel提供的分页方法很方便,可是两个以上就出问题了,当我点其中一个分页的链接时候,页面上其余的分页跟着切换。

这就是因为每个分页的都在同个页面,并且分页名都是用了默认的‘page’,导致了命名冲突。

在网上找了一个,找到了解决办法,就是自定义设置分页名称。

在Builder.php文件(项目名称/laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php)里面有一个分页的方法paginate()。

 /**
* Paginate the given query.
*
* @param int $perPage
* @param array $columns
* @param string $pageName
* @param int|null $page
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
*
* @throws \InvalidArgumentException
*/
public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
{
$page = $page ?: Paginator::resolveCurrentPage($pageName); $perPage = $perPage ?: $this->model->getPerPage(); $query = $this->toBase(); $total = $query->getCountForPagination(); $results = $total ? $this->forPage($page, $perPage)->get($columns) : new Collection; return new LengthAwarePaginator($results, $total, $perPage, $page, [
'path' => Paginator::resolveCurrentPath(),
'pageName' => $pageName,
]);
}

看了一下它可以传4个参数的:

$perPage = null,

$columns = ['*'],

$pageName = 'page',

$page = null

在设置分页方法的时候传入自定分页变量名,格式为  paginate(3,  ['*'],  'spage');这样问题就解决了,可以在同一个页面上实现多个分页。

但是,你以为ok了么?nonono...

新发现的问题是:当你点击其中一个分页链接的时候,它是实现了页面的跳转,但是,它没问题,其他的分页回跳回首页,也就是说地址栏的分页变量只有一个,你一点跳转,页面跳转,其他的分页就没了,默认为首页去了。

看了一下文档分页这块,里面有个添加参数到分页链接的appends方法。

比如:

 ->paginate(2, ['*'], 'fpage');
<div class="text-center"> {!! $first->appends(['spage' => $second>currentPage() ])->render() !!} </div>  ->paginate(2, ['*'], 'fpage');
<div class="text-center"> {!! $second->appends(['fpage' => $first->currentPage() ])->render() !!} </div>

这样来个

1、分页first 、second分别自定分页命为:fpage 、spage;

2、

appends(['fpage' => $first->currentPage() ])、
appends(['spage' => $second>currentPage() ])

各自调用appends方法添加对方的分页变量名,设置值为其对方当前也页码数

3、获取当前页面数的currentPage()方法是跳用分页方法后,获取结果集合后,调用就它就可以获取当前页码数的

最后就成功啦!!!

URL: http://localhost:8000/admin?spage=2&fpage=8

可以不互相影响到了。

Laravel 5.2分页--怎么在一个页面实现两个以上的列表分页,互不影响?的更多相关文章

  1. 如何在一个页面上让多个jQuery

    如何在一个页面上让多个jQuery共存呢?比如jquery-1.5和jquery-1.11. 你可能会问,为什么需要在一个页面上让多个jQuery共存?直接引用最新版本的jQuery不行吗? 答案是, ...

  2. 基于bshare分享平台,在一个页面上实现多个不同内容的web分享

    <!--引入bshare SDK--><script type="text/javascript" charset="utf-8" src=& ...

  3. VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法]

    VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] - tingya的专栏 - 博客频道 - CSDN.NET VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] 分类 ...

  4. (转)WEB页面导出为Word文档后分页&横向打印的方法

    <html>    <HEAD>        <title>WEB页面导出为Word文档后分页&横向打印的方法 </title>    < ...

  5. laravel 框架配置404等异常页面的方法详解(代码示例)

    本篇文章给大家带来的内容是关于laravel 框架配置404等异常页面的方法详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在Laravel中所有的异常都由Handl ...

  6. 怎样在一个页面使多个setInterval函数正常执行

    var firstInterval; var secondInterval; function firstAlert(){ if(firstInterval) clearInterval(firstI ...

  7. 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用

    在上篇<基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理>介绍了Bootstrap开发框架的一些基础性概括,包括总体界面效果,以及布局.菜单等内容, ...

  8. PHP+jQuery 列表分页类 ( 支持 url 分页 / ajax 分页 )

    /* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8.3.mi ...

  9. 织梦DeDeCms列表分页和内容页分页错位解决办法

    文章页分页代码在这里/include/arc.archives.class.php列表页分页/include/arc.listview.class.php 很多入门的站长会碰到这样的问题,织梦的通病, ...

随机推荐

  1. 十四、文件和目录——文件时间和utime函数

    14.1 文件时间 存在于 stat 结构体中 14.2 文件时间函数 14.2.1 介绍 utime(修改文件的存取时间和更改时间) 相关函数 utimes,stat #include <sy ...

  2. luogu 3538/bzoj 2795 Poi2008 哈希+质数结论

    题意:给定一个子串,询问一些子区间内的最短循环节(循环节是越短条件约束越多) 开始一看那就哈希处理然后暴力枚举循环节,然后按照循环节长度暴力向后比较,本地测试40,洛谷60 #include<b ...

  3. tensorflow faster rann

    github 上大神的代码 https://github.com/endernewton/tf-faster-rcnn.git 在自己跑的过程中的问题: 1. 数据集的问题: 作者实现了 voc,co ...

  4. [C++]2-4 子序列的和

    /* 子序列的和(subsequence) 输入两个整数n<m<10^6,输出1/(n^2) + 1/((n+1)^2) + 1/((n+2)^2) 1/((n+3)^2) + ... + ...

  5. Web前端性能优化常见面试题

    一般说来,web前端指网站业务逻辑之前的部分,包括浏览器加载.网站视图模型.图片服务.CDN服务等,主要优化手段有浏览器访问.使用反向代理才.CDN等.1.减少http请求,合理浏览器缓存 2.启用压 ...

  6. PHP面试(三):面试技巧

    一.面前准备 1.注意形象——穿着得体.注意言行举止. 2.提前了解——公司情况.业务情况 3.充分准备——自我介绍.对所学知识点充分复习.重点复习自己易犯错误.充分的休息 二.注意事项 1.遵守时间 ...

  7. IDEA对新建java线程池的建议

    1 代码片段 ExecutorService pool = Executors.newCachedThreadPool(); 2 建议的三种模板 A 第一种,采用Apache的common.lang3 ...

  8. 配置mongo

    Windows 平台安装 MongoDB MongoDB 下载 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...

  9. retrofit动态代理

    https://blog.csdn.net/dalong3976/article/details/83479816

  10. Javascript框架 - ExtJs - 类

    类(ExtJs Class) preparation! 我用的是ext-4.2,解压后会得到以下文件 学习要用到的文件很少,现在保留以下文件和整个文件夹,然后删除其它文件并保持目录结构.本页面底部有提 ...