== get(); foreach($exams as $exam) { $exam->load([ 'exam_questions' => function ($query) { $query->groupBy('id'); } ]); } return $exams; } function resolveExamTyperatings($root, $args) { $exams = \GermanAirlinesVa\Schooling\Models\ExamTyperating::where('member_id', $args['memberID'])->get(); foreach($exams as $exam) { $exam->load([ 'exam_questions' => function ($query) { $query->groupBy('id'); } ]); } return $exams; } function resolveTyperatings() { $typeratings = GermanAirlinesVa\Schooling\Models\Typerating::all(); foreach($typeratings as $typerating) { $typerating->load([ 'exam_questions' => function($query) { $query->groupBy('id'); } ]); } return $typeratings; } function resolveMemberRanks() { $ranks = GermanAirlinesVa\Schooling\Models\MemberRank::all(); foreach($ranks as $rank) { $rank->load([ 'exam_questions' => function($query) { $query->groupBy('id'); } ]); } return $rank; } == # Content extend type Query { memberRanks: [MemberRank]! typeratings: [Typerating]! examMemberRanks(memberID: ID!): [ExamMemberRank]! examTyperatings(memberID: ID!): [ExamTyperating]! } type MemberRank { id: ID! name: String! description: String! points: Int! price: Int! badge: String! region: String! exam_questions: [ExamMemberRankQuestion]! exams: [ExamMemberRank]! } type Typerating { id: ID! name: String! price: Int! exam_questions: [ExamTyperatingQuestion]! exams: [ExamTyperating]! } type ExamMemberRank { id: ID! member_id: ID! member_rank: MemberRank! start: DateTime! status: ExamStatus! exam_questions: [ExamMemberRankQuestion]! exam_answers: [ExamMemberRankAnswer]! } type ExamTyperating { id: ID! member_id: ID! typerating: Typerating! start: DateTime! status: ExamStatus! exam_questions: [ExamTyperatingQuestion]! exam_answers: [ExamTyperatingAnswer]! } type ExamMemberRankQuestion { id: ID! member_rank: MemberRank! in_use: Boolean! mandatory: Boolean! text: String! picture: String! exam_answers: [ExamMemberRankAnswer]! } type ExamTyperatingQuestion { id: ID! typerating: Typerating! in_use: Boolean! mandatory: Boolean! text: String! picture: String! exam_answers: [ExamTyperatingAnswer]! } type ExamMemberRankAnswer { id: ID! exam_question: ExamMemberRankQuestion! text: String! is_correct: Boolean! } type ExamTyperatingAnswer { id: ID! exam_question: ExamTyperatingQuestion! text: String! is_correct: Boolean! } enum ExamStatus { open pending closed validated } scalar DateTime @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTime")