2017-08-14 18 views
0

次のクエリがあり、期待通りに動作しません。Eloquent query not working Laravel 5.4

$students = StudentStatus::with(['user.studentProgramme' => function ($query) { 
           $query->where('department_course_id', request('studyCourse')); 
          }], 'level', 'user.studentProgramme.course') 
          ->where('level_id', request('level')) 
          ->where('status', 0) 
          ->get(); 

インナーWHERE、それは$query->where('department_course_id', request('studyCourse'))で無視され、私は理由を知りません。

私には欠けているものがありますか?それはスコープの問題であり、それがなかった場合、私がチェックしている

$studyCourse = ; 

$students = StudentStatus::with(['user' => function($query) { 
          $query->with(['studentProgramme' => function ($query) { 
           $query->where('department_course_id', request('studyCourse')); 
          }]}], 'level', 'user.studentProgramme.course') 
          ->where('level_id', request('level')) 
          ->where('status', 0) 
          ->get(); 

答えて

0

この

は、スコープの問題にトライすることがあります。私は `要求`( `studyCourse ')`を `dd`edし、それが期待されるもの、選択された価値を私に与えました。
+0

: – BlackPearl

+0

私はあなたがネストされた関係を持っている方法かもしれないと思う、私の編集された答えを見てください。構文はちょっと離れているかもしれません。 –