我們的列表數(shù)據(jù)有時(shí)候需要根據(jù)據(jù)狀態(tài)來(lá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)行查詢前,需要通過(guò)框架的Db擴(kuò)展來(lái)更改某個(gè)字段值得排序:例如,我需要將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字段名我寫(xiě)成 a.status是因?yàn)?我后面的操作是進(jìn)行了 聯(lián)表查詢a是別名!
以上這篇tp5 實(shí)現(xiàn)列表數(shù)據(jù)根據(jù)狀態(tài)排序就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)查詢的方法
- 在TP5數(shù)據(jù)庫(kù)中四個(gè)字段實(shí)現(xiàn)無(wú)限分類(lèi)的示例
- ThinkPHP5查詢數(shù)據(jù)及處理結(jié)果的方法小結(jié)