URL长度超过限制时,如何在Laravel中进行分页

时间:2018-07-31 11:13:48

标签: php laravel laravel-5 eloquent laravel-5.2

我正在使用Laravel 5.2进行项目 我有隐藏的ID值,我想从数据库中搜索ID,以后再按降序对其进行排序。 我写了这段代码。

控制器

$jsonObject =json_decode(request('membersdata'));
$member = (new Membermasternewdata)->newQuery();
$members=$member->whereIn('id', $jsonObject)->latest();
$members=$members->paginate(50);

查看 HTML页面

{{$members->appends(request()->except('page'))->links()}}

我的网址示例http://localhost:8000/ascendingregistrationdate?_token=ktlNHgx9PLNCOQL0CE1YZT2AzmWpJeXexqOduy8F&membersdata=%5B199%2C284%2C344%2C355%2C381%2C461%2C488%2C576%2C601%2C652%2C747%2C825%2C849%2C878%2C883%2C912%2C913%2C915%2C972%2C1004%2C1071%2C1310%2C1501%2C1534%2C1585%2C1610%2C1677%2C1854%2C1923%2C1935%2C2163%2C2301%2C2302%2C2326%2C2339%2C2717%2C2773%2C3052%2C3361%2C3446%2C3683%2C3848%2C3853%2C3914%2C4114%2C4244%2C4311%2C4357%2C4389%2C4881%2C5312%2C5322%5D&page=2

我的分页有问题。对于大约400条记录,分页有效。但是,如果我有很多记录,则分页不起作用,因为URL长度超过了其限制。有没有解决此问题的方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

为什么不使用GET请求进行搜索,为什么不改用POST。这样,memberdata数组可以作为POST数据传递,该数据可以具有更大的数据限制(取决于您的PHP配置,该大小为2 MB以上。

URL中的memberdata是导致URL超过最大限制的原因,因此您需要将其从URL中删除。