Здравствуйте!
Есть 3 модели: Course, Section, Lesson
Они последовательно "вложены" друг в друга, и связаны через ->hasMany
CourseModel
public function sections() {
return $this->hasMany(Section::class);
}
SectionModel
public function lessons() {
$current_id = $this->getKey('course_id');
return $this->hasMany(Lesson::class, 'section_id', 'section_id')->where('course_id', $current_id);
}
При вот таком запросе из контроллера данные возвращаются как ожидается (запрашиваю course, в нем получаю section, и из нее уже получаю список lesson)
$course = Course::find(1);
$sections = $course->sections;
foreach($sections as $section) {
$lessons = $section->lessons->toArray();
dump($lessons);
}
Проблема с lighthouse graphql, если я не ограничиваю выборку в модели section этим куском
->where('course_id', $current_id)
запрос отрабатывает, но очевидно, возвращает лишнее
а с ним, в список lesson не попадает ничего, есть ли возможность это как то пофиксить не прибегая к кастомной query? Спасибо!