2013-04-26 3 views
0

에서 발생 수를 가져 내가 Laravel에서이 쿼리를 가지고 :Laravel : 테이블

Models::select('*')->group_by('user_name')->order_by(DB::raw('count(user_name)'), 'desc')->take(3)->get(); 

그것은 최고에게 반환 3 사용자가 테이블에 표시되는 번호로.
Q : 또한 카운트 매개 변수 (나타나는 몇 번?)

현재 응답을 얻을 수있는 방법 :

array(
    "Tim","John","Luke" 
); 

나는 이런 식으로 뭔가가 필요합니다

array(
    array(
     "user" => "Tim", 
     "count" => 3 
    ), 
    array(
     "user" => "John", 
     "count" => 2 
    ), 
    array(
     "user" => "Luke", 
     "count" => 1 
    ) 
); 

감사합니다 !

답변

0

쿼리의 선택 부분에 COUNT을 입력하고 별칭을 지정한 다음 순서대로 해당 별칭을 사용해야합니다.

아마도 이와 같은 것일 수 있습니다.

Models::select('*', DB::raw('count(user_name) AS user_count'))->group_by('user_name')->order_by(DB::raw('user_count'), 'desc')->take(3)->get(); 
+0

좋은 생각처럼 보이지만 내가 :(오류가 발생하는 일반적인 오류 : 1 이러한 열 :., 나는 내 대답을 업데이 트됩니다 그것은 MySQL의 예약어이기 때문에 할 수있는 그 – intelis

+0

아를 계산하지만, 대신에'user_count'를 사용해보십시오. 당신이 원하는 것을 바꿀 수 있습니다. –

+0

흠 .. 아직도 작동하지 않습니다. – intelis