Pagination laravel分页方法链接不存在

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'

我正在使用基于用户输入的Elount构建一个动态查询

$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