2017-08-14 155 views
0

我有以下查詢,它不按預期工作。雄辯的查詢不工作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'))被忽略,我不知道爲什麼。

有什麼我錯過了嗎?

回答

0

這可能是一個作用域的問題試試:

$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

我已籤,如果它是一個範圍的問題,事實並非如此。我'dd'ed'request('studyCourse')'它給了我所期望的,所選的價值。 – BlackPearl

+0

我認爲這可能是你有嵌套關係的方式,請參閱我編輯的答案。語法可能稍微偏離。 –