我們的列表數據有時候需要根據據狀態來排序,狀態有 1,2,3,4 四種狀態 如果我們希望將 2 的狀態排第一,那么就需要自定義狀態
因為我們mysql的默認字段狀態是,按照ASC方式,升序進行排序。
tp5 在進行查詢前,需要通過框架的Db擴展來更改某個字段值得排序:例如,我需要將status字段的排序排成 0,1,2,8,-1的順序
那么在查詢前這么做:
$exp = new \think\Db\Expression('field(a.status,0,1,2,8,-1)');
然后在后面具體的鏈式操作中加上:
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是因為 我后面的操作是進行了 聯表查詢a是別名!
以上這篇tp5 實現列表數據根據狀態排序就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- tp5(thinkPHP5)框架實現多數據庫查詢的方法
- 在TP5數據庫中四個字段實現無限分類的示例
- ThinkPHP5查詢數據及處理結果的方法小結