2017-03-05 6 views
0

私は雄弁になるようにこの質問をしたいと思いますが、どうすればいいのかわかりません。グループによってlaravel eloquent

私はカウントDESC

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

によってとORDER BY グループでを使用したいが、私はできません。ここで

は私の元のクエリです:

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();