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)

查询效果如下图所示:

20181009142819_58093.png

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

$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

查询结果:

20181009143220_97744.png

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

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

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

查询结果如下图所示:

20181009143828_63323.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值