我用一些过滤器制作了一个搜索方法(GET),我唯一的问题就是当我运行搜索结果时,我得到的结果与adresse相似:
搜索Q =&安培; type_licence_id =安培; activite_licence_id =安培; structure_id = 8
当我点击第2页时,我有:
搜索?页= 2
所以它再次显示搜索查询的结果。
也许我在控制器上做错了什么?希望有人可以帮助我,非常感谢提前
这是我的控制器:
public function search(Request $request)
{
$structure = Structure::select('num_structure', 'nom_structure' , 'id')
->get()
->mapWithKeys(function($i) {
return [$i->id => $i->num_structure.' - '.$i->nom_structure];
});
$activite = ActiviteLicencie::pluck('lb_activite' , 'id');
$type_licence = Type_licence::pluck('lb_type' , 'id');
$query = Licencies::query();
$filters = [
'type_licence_id' => 'type_licence_id',
'activite_licence_id' => 'activite_licencie_id',
'structure_id' => 'structure_id',
];
foreach ($filters as $key => $column) {
$query->when($request->{$key}, function ($query, $value) use ($column) {
$query->where($column, $value);
});
}
$licencies = $query->paginate(10);
return view('licencie/recherche', compact('licencies' , 'structure' , 'activite' , 'type_licence'));
}
答案 0 :(得分:2)
我在我的刀片模板中使用以下内容:
{{ $licencies->appends(Request::all())->links() }}
它将所有请求参数附加到分页。
检查'附加分页链接'在https://laravel.com/docs/5.4/pagination#displaying-pagination-results获取信息
答案 1 :(得分:0)
您可以通过
自定义分页网址$licencies = $query->paginate(10);
$licencies->setPath($request->fullUrlWithQuery());
文档:
https://laravel.com/docs/5.4/pagination#displaying-pagination-results
https://laravel.com/api/5.4/Illuminate/Pagination/LengthAwarePaginator.html#method_setPath