laravel - 雄辩的分页两个关系合并
问题描述
我有两个模型:任务和评论
在我的用户配置文件中,我想显示按创建日期排序的任务和评论。
为此,我这样做:
$timeline_array = $customer->comments;
$timeline_array = $timeline_array->toBase()->merge($customer->tasks);
//sort timeline event
$timeline_array = $timeline_array->sortByDesc(function($timeline_event){
return $timeline_event->created_at;
});
在我看来,我 foreach 我的数组。它工作正常,但如果我有太多评论或任务,这将是一个很大的要求,所以我想添加一个分页器。
我该怎么做 ?
如果我$timeline_array->paginate(5);
最后有一个错误:
方法 Illuminate\Support\Collection::paginate 不存在。
而且我认为这并没有解决我的问题,因为我在分页之前加载了所有评论和任务。
有人有想法/解决方案吗?
解决方案
终于找到了解决办法:
$timeline_array = $customer->comments;
$timeline_array = $timeline_array->toBase()->merge($customer->tasks);
//sort timeline event
$timeline_array = $timeline_array->sortByDesc(function($timeline_event){
return $timeline_event->created_at;
});
$item_per_page = 10;
$timeline_array = new LengthAwarePaginator($timeline_array->forPage(Paginator::resolveCurrentPage(), $item_per_page), count($timeline_array), $item_per_page, Paginator::resolveCurrentPage(), [
'path' => Paginator::resolveCurrentPath()
]);
推荐阅读
- sql-server - 将 Oracle 触发器转换为 SQL Server 触发器
- python - 我应该将 Unix 时间存储在单独的表中吗
- java - 使用自定义基础存储库配置 Spring @DataJpaTest
- python - Django获取父类别的所有帖子
- google-apps-script - 提交后如何重置表单?
- python - 如何得出一些平均评分
- php - 在 include() 中插入变量如何正确?
- python - 如何将单个枚举用于 django 模型和 graphql 突变参数?
- java - 如何在显示键盘时禁用滚动 ViewPager?
- docker - Minikube 日志轮换