我有api,我想向客户发送一些信息。 我正在使用资源收集来做到这一点。
return response()->json([
'data' => ProductResource::collection(Product::orderBy('id', 'DESC')->paginate(8)),
'catdata' => CategoryResource::collection(Category::get()),
'status' => "200"
]);
一切正常但分页元数据不起作用。 它不会发送分页数据。
答案 0 :(得分:0)
API资源并不意味着彼此使用,这意味着Laravel将无法检测到您想要分页元数据,因为您在Laravel可以读取之前转换为JSON。您最好将您的API响应分开,让客户调用API两次。
public function products()
{
return ProductResource::collection(Product::orderBy('id', 'DESC')->paginate(8));
}
public function categories()
{
return CategoryResource::collection(Category::get());
}
您还可以在additional
来电时使用ProductResource::collection
功能。
public function products()
{
return ProductResource::collection(Product::orderBy('id', 'DESC')->paginate(8))->additional(['meta' => [
'categories' => Category::get(),
]]);;
}