【发布时间】:2017-02-02 20:37:33
【问题描述】:
在任何地方都找不到关于如何在分页中返回最新行(每个 created_at 列)的示例?
我当前的代码是:
$messages = Message::where('to_id', $user->id)
->where('is_read', false)
->paginate(10);
我想按最近对结果进行排序。我该怎么做?
【问题讨论】:
在任何地方都找不到关于如何在分页中返回最新行(每个 created_at 列)的示例?
我当前的代码是:
$messages = Message::where('to_id', $user->id)
->where('is_read', false)
->paginate(10);
我想按最近对结果进行排序。我该怎么做?
【问题讨论】:
您可以使用latest() 方法,它是orderBy('created_at', 'desc') 的快捷方式
$messages = Message::where('to_id', $user->id)
->where('is_read', false)
->latest()
->paginate(10);
要使用->latest(),您的表中必须有一列created_at。
【讨论】:
Model::orderBy('created_at', 'desc')->paginate()
尝试通过 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);
【讨论】: