thinkphp5模型中自定义order 排序(根据查询出来的数组顺序去查询数据)

本文介绍了一种使用自定义order方法解决根据特定数组顺序查询数据库的技术方案。通过将数组转换为逗号分隔的字符串,并利用db的Expression类处理order字段条件,确保查询结果与原始数组顺序一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在本次项目中遇到一个问题,就是根据比如查询出来的一个数组为$id=[2,5,7,1,8,3],
然后根据这个id的数组的排列顺序去查询数据,查询出来的数据和这个id数组的列先后需要
一致。就要用到自定义order去实现。

如上图的$whereid这个数组就是根据某个表中的时间降序来查询出来的,然后在另外一个关联表中根据这个的排列顺序去查询到对应排列顺序的数据
首先先将数组用逗号分隔
在这里插入图片描述

关键的一步是需要引入db的Expression类来处理order的字段条件
在这里插入图片描述

最后直接用模型中的order方法去查询就行

在这里插入图片描述

第一次写博客,如哪里有问题,请各位朋友提出

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值