thinkphp5指定值进行排序和多条件排序

  • A+
所属分类:PHP 技术杂谈
$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)

查询效果如下图所示:

thinkphp5指定值进行排序和多条件排序

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

$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

查询结果:

thinkphp5指定值进行排序和多条件排序

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

$tpl = Db::name('contract')->order('contract_type DESC,create_time DESC')->select();
//SELECT * FROM `ct_contract` ORDER BY `contract_type` DESC,`create_time` DESC

查询结果如下图所示:

thinkphp5指定值进行排序和多条件排序

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: