米
首页
心情
图集
所有
搜索
登录
thinkphp6.0自定义排序order by field
2021-01-28
56.44w热度
相信很多时候我们需要有个自定义排序的功能,比如登录用户的点赞排序到第一位等等。  这种情况下我们一般都是使用自定义排序的功能,那么原生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/ 相信以上资料可以帮助到大家。
注:原创不易,转载请注明出处(
http://www.micuu.com/new/1360.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-02-21
上一篇:
我发现卢松松网的评论大部分都是机器人灌水
下一篇:
转载:高向东不再担任定边采油厂厂长,曾被曝向沈浩行贿5万美元
▶
珍藏视频
▶
10分钟高效燃脂
▶
30天高效瘦脸操
▶
5分钟缓解颈椎操
友人
→
微博
→
全民K歌
→
唱吧
→
今日头条
→
悠悠网
→
科技小锅盖
→
彼岸桌面
→
阮一峰
→
laravel社区
→
V2ex
→
掘金
+
更多