Laravel分页最新行(反转)

时间:2017-02-02 20:37:34

标签: php laravel eloquent

无法在任何地方找到关于如何在分页内返回最新行(按照created_at列)的示例?

我目前的代码是:

$messages = Message::where('to_id', $user->id)
    ->where('is_read', false)
    ->paginate(10);

我想按最新对结果进行排序。我该怎么做?

2 个答案:

答案 0 :(得分:8)

尝试orderBy id DESC:

$messages = Message::where('to_id', $user->id)
->where('is_read', false)
->orderBy('id', 'DESC')
->paginate(10);

或者通过created_at:

$messages = Message::where('to_id', $user->id)
->where('is_read', false)
->orderBy('created_at', 'DESC')
->paginate(10);

您也可以使用latest()

$messages = Message::where('to_id', $user->id)
->where('is_read', false)
->latest()
->paginate(10);

答案 1 :(得分:8)

您可以使用latest()方法作为orderBy('created_at', 'desc')

的快捷方式
$messages = Message::where('to_id', $user->id)
    ->where('is_read', false)
    ->latest()
    ->paginate(10);