提问人:Baby Babai 提问时间:5/29/2023 更新时间:5/29/2023 访问量:27
如何在 laravel 中的急切加载关系中创建分页
How to create pagination in eager loaded relationship in laravel
问:
我希望分页在急切加载关系中发生,但是当我使用它时,我得到了一个错误。 这仅在我在视图中使用时才会发生,而不是一切正常,因为当我删除它时,页面会以分页方法中设置的数字加载。Method Illuminate\Database\Eloquent\Collection::links does not exist.
{{ $SubjectReport->reports->links() }}
{{ $SubjectReport->reports->links() }}
这是我到目前为止尝试过的
这是我的控制器
$SubjectReport = Subject::with(['assesment.curriculumUnit',
'reports' => function($q) {
$q->orderBy('id','DESC')->paginate(2);
}])->where('id',2)->first();
return view('learner.assesment_reports',compact('SubjectReport'));
这是我的观点
@foreach ($SubjectReport->reports as $key => $report)
@endforeach
{{ $SubjectReport->reports->links() }}
答:
1赞
lezhni
5/29/2023
#1
不幸的是,无法正确使用分页。它只返回部分数据。
对关系进行分页的最佳方法是:with
Collection
Paginator
$SubjectReport = Subject::with('assesment.curriculumUnit')->where('id',2)->first();
$SubjectReport->reports = $SubjectReport->reports()->orderBy('id','DESC')->paginate(2);
评论