Laravel按特定值排序结果

时间:2014-09-25 18:49:43

标签: mysql laravel sql-order-by eloquent

我有这行代码从数据库中获取结果:

'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

我希望首先与所有者订购我的结果,然后是管理员,然后是会员。如何更改我的代码行以实现这些结果?

1 个答案:

答案 0 :(得分:32)

您需要使用orderByRaw

而不是orderBy部分你应该使用

orderByRaw("FIELD(clan_rank , 'Owner', 'Admin', 'Member') ASC");