sql - 如何使用orderby始终首先检索记录和其余记录?
问题描述
我是 Laravel 的新手。我正在尝试从数据库中检索一些记录。我需要其中一行始终排在第一位,并按字母顺序排列。像这样:
CategoryID Category
---------------------------
54 New Products
1 Amino Acids
3 b---
34 c----
4 d---
我应该如何重写我的代码来实现这一点?
$db_categories = Category::get();
提前致谢。
解决方案
你可以使用这个:
Category::orderBy(DB::raw("IF(category = 'New Products', 0, 1), Category"))->get();
推荐阅读
- apache-flink - Flink 检查点/保存点类变量吗?
- android - ArCore - 添加带有纹理的对象
- maven - 如何在部署期间查看 Maven 向服务器发送的内容?
- python - 无法在 Windows 上运行的 pyCharm 中安装密码学和 pynacl 库
- python - 有没有一种惯用的 panda 方法可以从代表开始和停止信号的 2 个列表中获取索引
- javascript - 事件方法上的jQuery不会触发
- makefile - 仅忽略来自 GNU make 的先决条件构建输出
- c++ - 抛出 'OC::OCException' 的实例后调用终止
- neo4j - Neo4j 密码查询从 6ms 间歇性地慢到 70ms
- amazon-web-services - 带有 Terraform 的 AWS ECS 是否损坏?