如何将一个Json对象放入另一个Json对象中?

5ktev3wc  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(262)

我有下面这个函数,它可以得到一门课程,以及属于它的所有科目。

public function getSubjectsPeriodsJson(int $id){
        $student = Student::find($id);
        $course=$student->courses()->latest()->first();
        $subjects = $course->subjects()->get();
        $data = [
            'course' => $course,
            'subjects' => $subjects       
        ];
        return response()->json($data, 200);

    }

它现在的方式返回如下所示的json响应:

{
"course": {
"id": 25,
"name": "1A",
"academic_course_id": 18,
"user_id": 2,
"created_at": "2023-02-01T12:51:32.000000Z",
"updated_at": "2023-02-01T12:51:32.000000Z",
"pivot": {
"student_id": 35,
"course_id": 25
}
},
"subjects": [
{
"id": 11,
"name": "matematicas",
"course_id": 25,
"created_at": "2023-02-01T13:00:47.000000Z",
"updated_at": "2023-02-01T13:00:47.000000Z"
}
]
}

但我希望它被显示为一门课程,里面有一系列的科目。

xlpyo6sf

xlpyo6sf1#

理想情况下,您应该尝试创建课程的responseDto,即CourseDto Now CourseDto将具有课程中存在的所有属性(字段)。
CourseDto还将包含另一个字段,即受试者列表。
现在将subject和course的响应输出Map到CourseDto。
然后返回CourseDto的json响应

相关问题