Laravel 分页获取变量

Posted

技术标签:

【中文标题】Laravel 分页获取变量【英文标题】:Laravel pagination get variables 【发布时间】:2014-04-05 07:47:09 【问题描述】:

我有一个页面会根据这样的预订日期列出公寓

mypage.com/finder?date-from=2011-03-04&date-to=2011-03-12

一切正常,我从 url 获取 date-from 和 date-get 并使用这些值搜索数据库。问题是当我分页并单击以转到 url 更改为的另一个页面时。

mypage.com/finder?page=9 

得到一个错误值必须提供

正确的网址必须是

mypage.com/finder?date-from=2011-03-04&date-to=2011-03-12&page=9

我在控制器上使用分页和 $searchResult->links();生成链接

如何在页面之间传递日期值以便分页正常工作?

谢谢

【问题讨论】:

【参考方案1】:

如果你想附加现有的查询字符串数据,使用这个:

$searchResult->appends(array(
    'date-from' => Input::get('date-from'),
    'date-to'   => Input::get('date-to'),
));

阅读文档:Appending To Pagination Links


你可以缩短一点:

$searchResult->appends( Input::only('data-from', 'date-to') );

结果是一样的。

【讨论】:

我认为更好的方法是 - Laravel 首先检查现有的查询字符串,如果存在,附加到它,否则从 ?page=n 开始。当前方法的问题是,当您再次单击分页链接时,您之前的排序变量将被丢弃。【参考方案2】:

您可以使用“附加”功能执行此操作。文档中有示例:http://laravel.com/docs/pagination

【讨论】:

以上是关于Laravel 分页获取变量的主要内容,如果未能解决你的问题,请参考以下文章

laravel的分页系统,怎么获取他的total

Laravel - 分页和获取()

Laravel 获取所有关系和分页关系数据

Laravel 从两个表中获取数据而不使用分页连接

laravel分页

如何通过分页获取 Laravel Eloquent 中的特定列?