laravel的分页类设计得非常好,我们可以直接拿来用,而不用自己手动的去创建,但有时候我们在做分页查询的时候,常常会因为第一页可以根据条件显示数据,但当我们点击第二页的时候,马上就变成查询全部了,这样就破坏了我们的查询条件。
对于这一点,博主在做博客的交互性的时候,就遇到过,所以就去看来文档,文档说明还是挺详细的,大家可以参考参考(分页文档),其实也是相当简单,首先是后端代码,我们得接收前端用户传过来的值并保存,然后传回前端,这样就可以避免因为跳转下一页,查询条件被破坏,大家可以参考参考,设计我们的表单代码如下:
<form action="{{ url('路由') }}" method="post">
{{ csrf_field() }}
<!-- 时间 -->
<label class="control-label span2 m-wrap" for="inputSuccess">访问时间:</label>
<input type="text" name="startAt" class="span2 m-wrap startAt-date" placeholder="开始时间"/>
<input type="text" name="endAt" class="span2 m-wrap endAt-date" placeholder="结束时间"/>
<!-- 时间 -->
<button type="submit" class="btn btn-success"> 查询</button>
</form>
后端接收代码如下:
//获取前端用户传值
$startAt= $_POST[$startAt];
$endAt= $_POST[$endAt];
//封装返回数组
$getInput = array(
'startAt' => ($startAt),
'endAt' => ($endAt)
);
//返回页面
return view('页面', ['getInput' => $getInput]);
然后是前端代码,代码如下:
{{ $statistic->appends(['startAt' => ($getInput['startAt']),'endAt' => ($getInput['endAt'])])->links() }}
这样我们就实现当分页时,我们的筛选条件都在,而不会因此而丢失