我們的列表數(shù)據(jù)有時候需要根據(jù)據(jù)狀態(tài)來排序,狀態(tài)有 1,2,3,4 四種狀態(tài) 如果我們希望將 2 的狀態(tài)排第一,那么就需要自定義狀態(tài)
因?yàn)槲覀僲ysql的默認(rèn)字段狀態(tài)是,按照ASC方式,升序進(jìn)行排序。
tp5 在進(jìn)行查詢前,需要通過框架的Db擴(kuò)展來更改某個字段值得排序:例如,我需要將status字段的排序排成 0,1,2,8,-1的順序
那么在查詢前這么做:
$exp = new \think\Db\Expression('field(a.status,0,1,2,8,-1)');
然后在后面具體的鏈?zhǔn)讲僮髦屑由希?/strong>
return Db::name('sssss')->alias('a')
->order($exp)
->where('a.is_show = 1 AND b.is_show = 1 )
->join('customer_invite b','b.invite_id = a.invite_id','left')
->select();
注意:status字段名我寫成 a.status是因?yàn)?我后面的操作是進(jìn)行了 聯(lián)表查詢a是別名!
以上這篇tp5 實(shí)現(xiàn)列表數(shù)據(jù)根據(jù)狀態(tài)排序就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫查詢的方法
- 在TP5數(shù)據(jù)庫中四個字段實(shí)現(xiàn)無限分類的示例
- ThinkPHP5查詢數(shù)據(jù)及處理結(jié)果的方法小結(jié)