我正在构建API,并试图为Laravel中的Classroom返回ResourceCollection。
以前,我使用一系列教室,并使用该数组和状态代码返回了响应,如下所示:
$classrooms=Classroom::all();
return response()->json($classrooms,200);
现在这是我的代码:
$classrooms = new ClassroomCollection(Classroom::paginate(10));
return $classrooms;
获得此回复:
"data": [classrooms array],
"links": {
"first": "http://127.0.0.1:8000/api/classrooms ?page=1",
"last": "http://127.0.0.1:8000/api/classrooms ?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 12,
"path": "http://127.0.0.1:8000/api/classrooms ",
"per_page": 10,
"to": null,
"total": 0
}
而且我找不到与ClassroomCollection一起发送状态代码的方法,因为如果这样做的话
return response()->json($classrooms,200);
我只返回了“数据”对象,没有分页器的链接和元数据。
有帮助吗?
如果您确实愿意,可以执行以下操作:
return response()->json($classrooms->jsonSerialize(), 200);
但是,如果200是您想要的状态代码,则表示这是默认状态代码,因此无需提供。
所以上面等于:
return $classrooms;