2016-07-16 3 views
0
나는 다음과 같은 쿼리를

에서 계산하는 방법 :Laravel은 : 쿼리

카운트가 작동하지
App\User::join('gift_sents', function($builder){ 
     $builder->on('gift_sents.receiver_id', '=', 'users.id'); 
     }) 
     ->select('users.*', 'COUNT(gift_sents.receiver_id as total_posts') 
     ->groupBy('gift_sents.id') 
     ->orderBy('total_posts', 'ASC') 
     ->limit(3)->get(); 

, 그것의 작동하는데! .*, COUNT (gift_sents이 ..= 사용자 . ID group by gift_sents . ID order by TOTAL_POSTS asc limit 3)

+0

당신은 당신의 선택 문에 오타를 가지고 있는지 확인 COUNT 여는 괄호를 닫으십시오. '-> select ('users. *', 'COUNT (gift_sents.receiver_id as total_posts)')' –

+0

여전히 작동하지 않습니다! – Gammer

+1

오류 : '알 수없는 열'개수 (gift_sents.receiver_id) '' – Gammer

답변

0

대신 :

->select('users.*', 'COUNT(gift_sents.receiver_id as total_posts') 

당신은 사용해야

->selectRaw('users.*, COUNT(gift_sents.receiver_id) as total_posts') 
3

내가 그것을 생각을 receiver_id from 사용자에게 as TOTAL_POSTS에게 inner join gift_sents을 receiver_id on gift_sents

Column not found: 1054 Unknown column 'COUNT(gift_sents.receiver_id' in 'field list' (SQL: select 사용자 :

다음 오류가 달려 온다 다음과 같아야합니다.

->select('users.*', DB::raw('COUNT(gift_sents.receiver_id) as total_posts')) 

참조 문서 here - '원시 표현'섹션

+0

네가 맞다! 약간의 편집이 필요합니다! – Gammer