php - Laravel:反转分页查询的结果
问题描述
我正在使用 Laravel 5.6,我想反转分页查询的结果。这就是我想要做的:
$chats = Chats::where('message_id', $message_id)->orderBy('id', 'DESC')->paginate(5);
if(!empty($chats)) {
$data['messages'] = $chats->reverse()->values();
$data['status'] = 200;
$data['create_user_id'] = Auth::id();
}else{
$data['error'] = "No chats available";
}
但它从结果中删除了分页。假设我在表中有这 10 个值
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
现在我想要6, 7, 8, 9, 10
第一页结果和1, 2, 3, 4, 5
第二页结果,特别是按那个顺序。
我怎么得到这个?请帮忙!!!
解决方案
出色地,
->orderBy('id', 'DESC')
在您的分页查询中,应该给您
`10, 9, 8, 7, 6`
然后只需反转输出中的内容即可
`6, 7, 8, 9, 10`
代码示例:
// $chats here are instance of LengthAwarePaginator
// so we use ->items() to get the array of paginated objects
$chats = Chats::orderBy('id', 'desc')->paginate(5);
$data = [];
if ($chats->count()) {
$data['reverseModels'] = collect($chats->items())->reverse();
$data['reverseIds'] = collect($chats->items())->reverse()->pluck('id');
} else {
$data['error'] = 'Error';
}
推荐阅读
- python-3.x - python - 如何将具有特定条件的列表组合并创建到python中的嵌套列表?
- c# - 更改 InlineShape(图像)阴影颜色
- maven - Maven重命名包含的文件
- python-3.x - 具有特定时间段的键盘记录器
- python - 关系不存在 - Django & Postgres
- c# - 无法将类型“对象”隐式转换为“Microsoft.Office.Interop.Excel._Worksheet”
- java - 添加日期格式并以时间格式提供 am/pm
- javascript - com.facebook.react.common.JavascriptException:需要未知模块“./locale/ID”。,
- angular - 从角度环境中排除文件
- react-native - 不再支持如何解决 UIManager['AIRMapLite']。(带有白色徽标的白色屏幕)