Laravel按特定值排序结果 [英] Laravel ordering results by specific values
本文介绍了Laravel按特定值排序结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一行代码从数据库获取结果:
I have this line of code which gets results from a database:
'clanMembers' => User::find(Auth::user() -> clan_id) -> where('clan_id', '=', Auth::user() -> clan_id) -> orderBy('username') -> get()
目前它是按用户名命令的。我希望通过clan_rank字段来改变它。这个clan_rank字段只会包含3个不同的值。这些是:
Currently it orders by the username. I wish to change this to order by the clan_rank field. This clan_rank field will only ever contain 3 different values. These are:
1. Owner
2. Admin
3. Member
我希望有我的结果先与业主订单,然后管理员,然后成员。如何更改我的代码行来实现这些结果?
I wish to have my results ordered with Owners first, then Admin, then members. How can I change my line of code to achieve these results?
推荐答案
您需要使用 orderByRaw
:
而不是 orderBy
您应该使用的部分
instead of orderBy
part you should use
orderByRaw("FIELD(clan_rank , 'Owner', 'Admin', 'Member') ASC");
这篇关于Laravel按特定值排序结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文