2017-03-05 2 views
0

제발,이 쿼리를 웅변하기를 원해요.하지만 어떻게 만들지 모르겠군요.그룹 by laravel eloquent

나는 카운트 내림차순

->groupBy('room_id')->get(); 

에 의해 및 주문 그룹과 을 사용하고 싶지만 그럴 수 없어.

SELECT * , count(seeker_id) FROM `jobs_skills` WHERE (skill_id =2 OR skill_id =3 OR skill_id=5) group by seeker_id ORDER BY count(seeker_id) DESC 

내가 그것을 해결하기 위해 많은 시간을 소비하지만, 나는 그것을 할 수 없습니다 :

여기 내 원래 쿼리입니다.

도와주세요.

+1

무엇을 시도 했습니까? , 정확히 무엇을 원하는지 확실하지 않습니다 – hassan

+0

어떤 버전의 Laravel을 사용하고 있습니까? 또한'job_skills'와'seekers' 사이에 관계를 설정 했습니까? –

답변

0

시도해보십시오. *를 select에 추가하면 groupBy 문에 추가 필드가 포함되어야합니다.

$skills = JobsSkills::selectRaw('skill_id, count(seeker_id) as count') 
         ->where('skill_id', 2) 
         ->orWhere('skill_id', 3) 
         ->orWhere('skill_id', 5) 
         ->groupBy('seeker_id') 
         ->orderBy('count', 'DESC') 
         ->get();