laravel5 一个页面中有两个列表,如何分开分页

发布于 2022-09-01 16:26:34 字数 65 浏览 12 评论 0

在一个页面有两个列表,在render中可以添加参数,但是分页是自动完成的,如何按参数进行对应的分页呢,求解,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夜吻♂芭芘 2022-09-08 16:26:34

找到答案了,在laravel分页类中有一个方法setPageName(),可以自定义分页号的request名,比如默认是page=1,这种可以通过该方法将同一页面下的两个列表的分页分开,例如userList用upage=1,groupList用gpage=1,这样同页面多列表就不会互相干扰,but~~~~~~~~~然并卵,这个方法在L5.0里面有bug,‘page’这个值被hardcoded,所以你自定义什么都不会生效。
bug在这
GitHub Problem with custom pageName for Pagination #8000

可惜这个bug的修复并没有合并到L5.0而是合并到了L5.1,解决代码在这
GitHub 5.0 Use custom page name for Paginator #8475

然后我按照以上修复了我的代码,然而依旧然并卵,因为环境问题(PHP 5.4.39),没法升级L5.1,所以按楼上所说,乖乖的用Ajax分页去了,真是哔了狗了,若果有大家知道问题原因能告诉我十分感谢,想知道为什么不好用,谢谢了;

你好,陌生人 2022-09-08 16:26:34

两个列表建议使用 ajax 分页

巷子口的你 2022-09-08 16:26:34

我也遇到了你这个问题,于是乎就在vender文件夹中找Illuminate\Pagination\Paginator目录下的Paginator.php,总之费劲周折,找到了$pageName这个变量在LengthAwarePaginator.php中已被setPageName()方法所改变,但是为何url改变内容却没有变化,这时在LengthAwarePaginator.php中会找到构造函数中options数组中存在pageName参数,这就令我向上找到Eloquent/Builder.php,这是不是很熟悉,不错!这就是开始调用的paginate()方法,例如User::paginate(2),注意这里只有一个参数,而Builder.php里面有4个参数,于是我改成User::paginate(2,['*'],'uPage');(第二个参数我就没管T_T),Whoops!怎么就搞定了!

白馒头 2022-09-08 16:26:34

大神 能不能借鉴一下你ajax分页的代码呀 膜拜ing

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文