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