MICUU
心情
所有
图集
登录
搜索
原创
thinkphp6.0自定义排序order by field
且笑天下江山如画
发布于:2021-01-28
相信很多时候我们需要有个自定义排序的功能,比如登录用户的点赞排序到第一位等等。  这种情况下我们一般都是使用自定义排序的功能,那么原生sql又是怎么实现的呢? ``` SELECT * FROM `ct_xxx` ORDER BY field(id,2,1,3) //示例代码 SELECT * FROM `zhe_work_order` WHERE ( `uid` = 221 ) AND `zhe_work_order`.`delete_time` IS NULL ORDER BY field(id,1798) desc ``` 那么在thinkphp6.0中我们如何封装成这样的语句? ``` 1 $list = WorkOrder::where("uid",$user["id"]) ->orderRaw("field(id,2,12,9") ->select(); //或者 2 $list = WorkOrder::where("uid",$user["id"]) ->orderRaw("field(id,8") ->select(); //或者3 Db::table('think_user') ->where('status', 1) ->orderRaw("field(name,'thinkphp','onethink','kancloud')") ->limit(5) ->select(); //或者 4 $list = WorkOrder::where("uid",$user["id"]) ->orderRaw("field(id,1587) desc") ->select(); ``` 以上的方法都是可以的。建议使用第四种情况 本篇文章仅针对thinkphp6.0及以上版本,thinkphp5.0 - 5.1 3.2 等版本参考 https://blog.csdn.net/Aaroun/article/details/86631013 https://blog.csdn.net/qq_39973053/article/details/82864659 https://www.pianshen.com/article/36621161922/ 相信以上资料可以帮助到大家。
注:原创不易,转载请注明出处(
https://micuu.com/new/1360.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-02-21
上一篇:
我发现卢松松网的评论大部分都是机器人灌水
下一篇:
转载:高向东不再担任定边采油厂厂长,曾被曝向沈浩行贿5万美元
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言
珍藏视频
10分钟高效燃脂
30天高效瘦脸操
5分钟缓解颈椎操
友人
微博
全民K歌
唱吧
今日头条
悠悠网
科技小锅盖
彼岸桌面
阮一峰
laravel社区
V2ex
掘金
更多>