Laravel分页最新行(反转)

TJH*_*TJH 4 php laravel eloquent

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

我目前的代码是:

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

我想按最近的顺序对结果进行排序.我该怎么做呢?

Ale*_*nin 9

您可以使用latest()快捷方式orderBy('created_at', 'desc')

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


Bug*_*njo 8

尝试orderBy id DESC:

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

或者通过created_at:

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

你也可以使用latest():

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