You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何实现数据库最新记录优先展示

Laravel查询实现最新入库记录优先排序方法

问题原因

当前查询未手动指定排序规则时,数据库默认按数据物理存储顺序/主键升序返回结果,因此最早入库的记录会排在结果集首位。

调整方案

在查询构造器中调用orderBy方法,指定排序字段为倒序(desc)即可实现最新记录靠前展示,有两种常用的排序字段选择:

  • 按created_at创建时间字段倒序:完全匹配「最新入库」的业务语义,适合存在数据导入、手动调整主键的场景,也是Laravel项目的首选方案
  • 按自增主键id倒序:自增ID随记录插入逐次递增,ID越大记录越新,排序性能优于时间字段,适合无特殊数据操作的常规业务场景

修改后代码

按创建时间排序(推荐)

if($status == 'pending'){
    $datas = Order::where('status','=','pending')
        ->orderBy('created_at', 'desc')
        ->get();
}

按自增主键ID排序

if($status == 'pending'){
    $datas = Order::where('status','=','pending')
        ->orderBy('id', 'desc')
        ->get();
}

注意:如果你的Order模型关闭了自动维护时间戳(配置了public $timestamps = false),请选择按主键ID排序的方案,否则会报字段不存在的错误。

内容的提问来源于stack exchange,提问作者Deepu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 08:06:21