惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
J
Java Code Geeks
Vercel News
Vercel News
A
About on SuperTechFans
G
Google Developers Blog
C
Check Point Blog
腾讯CDC
N
Netflix TechBlog - Medium
博客园 - 司徒正美
S
SegmentFault 最新的问题
D
DataBreaches.Net
博客园_首页
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
量子位
雷峰网
雷峰网
IT之家
IT之家
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
博客园 - 三生石上(FineUI控件)
H
Help Net Security
宝玉的分享
宝玉的分享
博客园 - 叶小钗

博客园 - aozima

使用API查询rcvps.cn的主机流量 zabbix监控MinIO zabbix监控gestetner GS3021打印机 zabbix监控DCP-7180打印机 zabbix监控m232dw打印机 给Snipe-IT添加扫码盘点 Snipe-IT支持Oauth2登录 gitlab禁止用户自己删除帐号 多年前旧笔记本惠普CQ40升级记录 关闭 gitlab中的 letsencrypt nginx自带的webdav掉坑计 获取上个程序的返回值 修改 ls 命令的时间显示格式 使用CURL测量网络延时 测试 tls 1.3 阿里云共享上网 tensorflow-gpu 1.13 提示找不到 libcublas.so.10.0 的问题 阿里云不同帐号间内网互通 R410自带SAS6IR卡折腾记
thinkphp5自定义sql排序
aozima · 2020-09-12 · via 博客园 - aozima

先列下目标sql语句

SELECT * FROM `table` WHERE `id` IN  (423603,423605,423606) ORDER BY FIELD(`id`, 423603,423606,423605)

 where id in (1,2,3) 这个条件按以下代码写即可

$query->where('id', 'in', $list_str);

但后面的order实现有些麻烦,找了一圈,可以按如下实现

$list_str = implode(",", $array);
$exp =new \think\db\Expression('field(id,'.$list_str.')');

$query = $query->order($exp);