TP5框架如何order自定义排序
sql:select*fromtablewhereidIN(3,6,9,1,2,5,8,7)orderbyfield(id,3,6,9,1,2,5,8,7);我想实现这样...
sql: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7); 我想实现这样
但是TP5框架order有点问题求大神帮助 展开
但是TP5框架order有点问题求大神帮助 展开
4个回答
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用tp的Expression类
别问我为什么知道,我也是遇到这种需求,然后看源码才搞定的
$exp = new \think\db\Expression('field(id,3,6,9,1,2,5,8,7)');
$result = $query->where(['id'=>['in','3,6,9,1,2,5,8,7']])->order($exp)->select();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
thinkphp使用的数据库是mysql,mysql多个字段排序的语句:
select
* from `表名` where 条件 order by 字段1 desc,字段2
asc,...
thinkphp中排序方法为
$User->where('score>0')->order('score desc')....;
但是例子中只能单字段排序,不过可以理解成字符串,那就可以这样写试试
$User->where('score>0')->order('score desc,id asc,...')....;
select
* from `表名` where 条件 order by 字段1 desc,字段2
asc,...
thinkphp中排序方法为
$User->where('score>0')->order('score desc')....;
但是例子中只能单字段排序,不过可以理解成字符串,那就可以这样写试试
$User->where('score>0')->order('score desc,id asc,...')....;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询