tp5.1 根据条件排序的方法

4 篇文章 0 订阅

 

 对于想要在tp5.1的框架对排序增加自己想要的条件进行排序,我们可以用 方法:orderRaw,在tp5文档中也有说明,order · ThinkPHP5.1完全开发手册 · 看云

比如现在我想对项目中两个字段进行排序,一个字段表示上下架 用is_online 表示,另外一个字段售卖的结束时间 用end_time表示,那么要实现上架的和有效期内的同时满足排在最前面,下架的和已过期的排在最后,项目中有的结束时间是为0的 ,也就是表示没有时间限制,这个也要排在前面,实现的代码如下:

->orderRaw('is_online desc,(case when t.end_time = 0 then 1 when t.end_time > unix_timestamp(now()) then 1 else 0 END) desc )

 如果是是想 end_time 不判断是否为0,代码如下:

->orderRaw('is_online desc,if(t.end_time > unix_timestamp(now()),1,0) desc) 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值