Добрый день.
Имеется запрос следующего вида:
$groups = Auth::user()->groups()->with([
'courses',
'courses.materials',
'courses.materials.presentation',
'courses.materials.test',
'courses.materials.test.resultType',
'courses.materials.presentation.states' => function($query) {
$query->where('id_user', Auth::user()->id)->where('id_group', 'GROUPS.id');
},
'courses.materials.test.states' => function($query) {
$query->where('id_user', Auth::user()->id)->where('id_group', 'GROUPS.id');
},
'courses.materials.test.states.trys'
])->get();
Условие where в функции замыкания не работает, поскольку не может определить значение 'GROUPS.id'.
Функция groups() - отношение следующего вида:
public function groups() {
return $this->belongsToMany('App\Group', 'USER_IN_GROUP', 'id_user', 'id_group');
}
Каким образом лучше построить запрос, чтобы условие на соответствие id группы учитывалось?