think PHP 排序条件,thinkphp5指定值进行排序和多条件排序 | 个人学习笔记记录

$contract_types = "2,1,3";

$exp = new \think\Db\Expression('field(contract_type,'.$contract_types.')');

$tpl = Db::name('contract')->order($exp)->select();

//SELECT * FROM `ct_contract` ORDER BY field(contract_type,2,1,3)

查询效果如下图所示:

aeff65504b971a8cda3b44c1e48d1547.gif

多条件排序,以上一个例子为例:

$contract_types = "2,1,3";

$exp = new \think\Db\Expression('field(contract_type,'.$contract_types.'),create_time DESC');

$tpl = Db::name('contract')->order($exp)->select();

//SELECT * FROM `ct_contract` ORDER BY field(contract_type,2,1,3),create_time DESC

查询结果:

aeff65504b971a8cda3b44c1e48d1547.gif

其他情况的多条件排序,一样的操作,例:

$tpl = Db::name('contract')->order('contract_type DESC,create_time DESC')->select();

//SELECT * FROM `ct_contract` ORDER BY `contract_type` DESC,`create_time` DESC

查询结果如下图所示:

aeff65504b971a8cda3b44c1e48d1547.gif

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值