天天看點

mybatis-plus根據多個字段排序_PHP中Thinkphp5架構的多字段排序TP5多字段排序

TP5多字段排序

很多人第一時間會想到手冊裡面的order,今天咱們就幾種方法來處理排序的問題!

1、執行個體化Expression類

标題說了,是多字段排序,OK,沒有問題,多字段排序,你隻需要在執行個體化Expression類的時候寫上就行了

這裡隻是大概寫一下,具體的請根據自己的業務需求進行更改,這裡我一共進行了四種不同字段不同需求的排序

$exp = new Expression('field(table1.id,null),field(table2.id,null),convert(table3.field3 using gbk) asc,table4.id desc');

2、orderRaw

orderRaw("field(users.id, $ids)"),或者 order(Db::raw("field(users.id, $ids)"))

3、使用模型order

Model::where("id","in","3,6,9,1,2,5,8,7")->order("field(id,3,6,9,1,2,5,8,7)")->select();

mybatis-plus根據多個字段排序_PHP中Thinkphp5架構的多字段排序TP5多字段排序

當然,熟悉的朋友可以直接在->orderRawz中寫原生的sql也是沒有問題的。

這裡隻是做一下記錄,歡迎留言交流學習。