2017-12-04 4 views
0

올바른 사용자를 반환하는 컬렉션이 있지만이 substring_index 함수를 사용하면 전체 컬렉션을 원하는대로 사용자 이름별로 알파벳순으로 정렬하지 않습니다. 여기에 더 나은 방법이 필요합니까?Laravel QB Collection

{{ dd(App\User::whereHas('roles', function($q) { 
     $q->where('name', '=', 'rprm'); 
    })->orderByRaw('substring_index(trim("name"), " ", -1)')->pluck('name', 'id')) }} 

답변

0

검색어를 변경해야합니다.

{{ dd(App\User::whereHas('roles', function($q) { 
     $q->where('name', '=', 'rprm'); 
    })->orderByRaw('substring_index(TRIM(name), " ", 1)')->pluck('name', 'id')) 
}} 

난 당신의 MySQL의 TRIM 기능을 사용하려면 가정합니다.

+0

Bob Smith와 같은 이름을 사용하고 Bob에 의해 알파벳순으로 정렬 되었다면 작동 할 것입니다. 그러나 성으로 알파벳 순으로 정렬해야합니다. – user3732216

+0

@ user3732216 1을 -1로 바꾸면됩니다. –

관련 문제