Pagination laravel分页方法链接不存在
我正在使用基于用户输入的Elount构建一个动态查询Pagination laravel分页方法链接不存在,pagination,eloquent,laravel-5.5,Pagination,Eloquent,Laravel 5.5,我正在使用基于用户输入的Elount构建一个动态查询 $query = \App\Model::query(); if($this == request('that')){ $query->where(...); // building dynamic query based on user inputs } 最后,用户可以在名为count的html输入字段中键入每页显示的记录数,或者选中名为all的复选框输入类型,以下代码完成后端的动态查询: if (request('all'
$query = \App\Model::query();
if($this == request('that')){
$query->where(...); // building dynamic query based on user inputs
}
最后,用户可以在名为count的html输入字段中键入每页显示的记录数,或者选中名为all的复选框输入类型,以下代码完成后端的动态查询:
if (request('all')) {
$result = $query->get();
}else {
$result = $query->paginate(request('count'));
}
同样在前端,我有以下代码来显示分页链接:
{{$result->links()}}
问题在于,当用户选择显示所有记录时,我们会遇到以下错误:
方法链接不存在
当我们通过get()
方法检索对象时,不能调用links方法。为了不面对这个错误,最好的做法是什么?这是因为->get()
方法返回集合而不是分页器模型照亮\Pagination\LengthAwarePaginator
。因此,我可以建议您从控制器发送一些附加变量,指示您是否需要执行$result->links()
控制器:
return view('yourView', [showPagination => is_null(request('all'))]);
@if($showPagination)
{{$result->links()}}
@endif
查看:
return view('yourView', [showPagination => is_null(request('all'))]);
@if($showPagination)
{{$result->links()}}
@endif