Laravel 框架中某個狀態的資料固定在列表頂部
1.緣由
業務需要列表中某個狀態處於列表頂部,該狀態有多個值(例如:1-5),需要置於頂部的為中間的某個值(例如:2)
- status 為示例欄位
2.實現
- 第一種實現方式
判斷 status 的值是不是等於要置頂的值,起別名,然後再排序。
成功demo1:
$list->selectRaw("if(status=2,1,0) as need_order")
->orderBy('need_order','desc')
->orderBy('id','desc')
->get();
- 第二張實現方式
成功demo2:
$list->orderByRaw(DB::raw("CASE WHEN a.status = 2 then 1 else 2 end"))
->orderBy('id','desc')
->get();
3.其他
期望看到的大佬們提供下其他思路
本作品採用《CC 協議》,轉載必須註明作者和本文連結