$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)

查询效果如下图所示:

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

$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

查询结果:

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

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

查询结果如下图所示:

相关评论(0)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...

还没有评论,快来抢沙发吧!