我有这行代码从数据库中获取结果:
'clanMembers' => User::find(Auth::user() -> clan_id) -> where('clan_id', '=', Auth::user() -> clan_id) -> orderBy('username') -> get()
目前按用户名订购。我希望通过clan_rank字段将其更改为order。此clan_rank字段只包含3个不同的值。这些是:
1. Owner
2. Admin
3. Member
我希望首先与所有者订购我的结果,然后是管理员,然后是会员。如何更改我的代码行以实现这些结果?
答案 0 :(得分:32)
您需要使用orderByRaw
:
而不是orderBy
部分你应该使用
orderByRaw("FIELD(clan_rank , 'Owner', 'Admin', 'Member') ASC");