Laravel:反转分页结果

时间:2018-12-13 10:34:50

标签: laravel pagination

我正在使用laravel 5.6,并且想反转分页查询的结果。这是我现在想要做的:

$chats = Chats::where('message_id', $message_id)->orderBy('id', 'DESC')->latest()->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,特别是按照该顺序。

请帮助。

1 个答案:

答案 0 :(得分:0)

you can reversed the pagination with latest function.


   $chats = Chats::where('message_id', $message_id)->orderBy('id', 'DESC')->latest()->paginate(20);
if(!empty($chats)) {
    $data['messages'] = $chats->values();
    $data['status'] = 200;
    $data['create_user_id'] = Auth::id();
}else{
    $data['error'] = "No chats available";
}

删除reverse(),因为latest()提供reverse()。