【发布时间】:2020-07-26 08:42:36
【问题描述】:
如果我去http://app.test/visitor?interval=week,我会看到这个
问题????
当我点击第二个时,我被重定向到:http://app.test/visitor?page=2
它删除了我的 interval=week,这破坏了我每周查看的查询视图。
代码
这就是我构建页面的方式
public function index()
{
$inputs = Request::all();
$interval = '';
if(array_key_exists('interval', $inputs)){
$interval = $inputs['interval'];
}
switch ($interval) {
case 'day':
$visitors = Visitor::where('created_at', '>', now()->today())->paginate(10);;
break;
case 'week':
$visitors = Visitor::where('created_at', '>', now()->subMonth())->paginate(10);;
break;
case 'month':
$visitors = Visitor::where('created_at', '>', now()->subMonth())->paginate(10);;
break;
case 'year':
$visitors = Visitor::where('created_at', '>', now()->subYear())->paginate(10);
break;
default:
$visitors = Visitor::orderBy('updated_at', 'desc')->paginate(10);
break;
}
return View::make('layouts.be.visitors.index', get_defined_vars());
}
查看
{!! $visitors->render() !!}
目标
就是保持在同一个视图中,像这样
http://app.test/visitor?interval=week&page=2
我必须覆盖默认的分页功能吗?
我该如何解决这个问题?
【问题讨论】:
-
我很确定问题出在前端,当您在分页中按下#2 页面时,您必须将间隔查询字符串注入每个分页按钮的末尾。你用什么做你的前端?我很确定你将不得不使用一些 js 来做到这一点。
-
@RobertKujawa,Laravel 7 神奇地为我们做到了这一点。 FE上不需要手动JS代码,反正我找到了答案。
-
好的,很高兴你找到了解决方案!
标签: php laravel pagination url-parameters laravel-7