我正在使用Laravel和Ajax调用复选框点击搜索过滤器 . 当我点击一个复选框时,我得到了结果 . 我的查询如下:
$editors = User::with(['editor.credentials','editor.specialties','editor.ratings']);
$temp=$editors->whereHas('editor', function($q) use ($a_data){
$q->whereHas('specialties',function($sq) use($a_data){
$sq->whereIn('specialty',$a_data);
});
})->paginate(2);
这给了我所需的所有数据 . 但是我应该如何获得分页链接?
$temp->setBaseUrl('editors');
$links = $temp->links()->render();
我目前正在做这个和我发送的$ links作为响应ajax调用,我设置了$ link数据的分页 . 现在,我需要将查询附加到下一页,如page = 2?query =“something” . 我不知道如何将剩余的查询结果链接附加到下一页链接 . 即我不知道查询中应该包含什么=“某事”部分 . 有人可以指导我 . 谢谢
6 回答
检查@Arda的答案,因为它是全球解决方案 . 您可以在下面找到如何手动完成的操作 .
在Paginator上使用
appends
:它会将所有查询字符串参数附加到分页链接中
在您的应用程序中的任何位置添加它(例如routes.php,filters.php或任何自动加载的),无需编辑已写入的任何分页代码 . 这可以完美地使用视图编辑器,您不需要知道任何查询字符串参数:
对于目前最新版本的Laravel(5.2),您可以使用Request facade来检索查询字符串并将其传递给您的paginator的appends()方法
附加除实际页面,表单标记和您不想传递的内容之外的所有输入:
从以前的答案中获得灵感,我最终使用服务容器来支持前端api .
在你的
AppServiceProvider@boot()
方法中: