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

Laravel查询优化:优先展示featured为1的Property数据

解决方案

要实现优先展示featured值为1的Property数据,你只需在原有查询中新增按featured降序排序的规则,让值为1的条目排在前面,之后保留原有的按name升序排序逻辑即可。

以下是两种可行的实现方式:

方式一:使用多个orderBy方法

直接在查询链中添加orderBy('featured', 'desc'),它会先按featured字段排序,再执行原有的name排序:

$properties = Property::with('Category')
            ->where('status','Active')
            ->orderBy('featured', 'desc') // 优先展示featured=1的内容
            ->orderBy('name','asc')
            ->get();

方式二:使用orderByRaw原生排序语句

如果更倾向于原生SQL的排序逻辑,可以用orderByRaw直接指定组合排序规则:

$properties = Property::with('Category')
            ->where('status','Active')
            ->orderByRaw('featured DESC, name ASC') // 合并排序规则
            ->get();

说明

  • featured字段值为1的条目会因降序排序(DESC)被优先展示,值为0的条目排在后面
  • 同一featured分组内的条目,仍会按照原有的name升序规则排列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:15:55