У меня следующий запрос; все ссылки на отношения сделаны правильно, так как отображаются результаты.
MUsers::select('id')
->where('id', session('saas.user.id'))
->with([
'getClasses' => function($getClasses) {
$getClasses->with([
'getDocuments' => function($getDocuments) {
$getDocuments->select('id', 'cathegory_id');
}
]);
}
])->firstOrFail();
getClassesTeacher
- это отношение belongsToMany
; getDocuments
- это отношение belongsToMany
;
Как получить только последние активные отношения без необходимости дальнейшей обработки «линии спагетти». Я пытался использовать pluck
несколько раз, но это не сработало.
MUsers::select('id')
->where('id', session('saas.user.id'))
->with([
'getClassesTeacher' => function($getClasses) {
$getClasses->with([
'getDocuments' => function($getDocuments) {
$getDocuments->select('id', 'cathegory_id' );
}
]);
$getClasses->get()->pluck('getDocuments'); // has no effect or returns "column 'getDocuments' not found"
}
])->get()
->pluck('getClassesTeacher'); // does not return what I needed