Php Laravel paginate资源赢得';不要添加元

Php Laravel paginate资源赢得';不要添加元,php,laravel,Php,Laravel,我有以JSON格式返回的资源数据。当我尝试使用paginate获取数据时,它不包括元数据 基于我应该包含的数据,如: "meta":{ "current_page": 1, "from": 1, "last_page": 1, "path": "http://example.com/pagination", "per_page": 15, "to": 10, "total": 10 } 但我的数据是这样返回的: 代码 控制器 公共功能索

我有以JSON格式返回的资源数据。当我尝试使用paginate获取数据时,它不包括元数据

基于我应该包含的数据,如:

"meta":{
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http://example.com/pagination",
    "per_page": 15,
    "to": 10,
    "total": 10
}
但我的数据是这样返回的:

代码
控制器

公共功能索引()
{
$products=PRODUCTFRONTROURCE::集合(产品::orderby('id','desc')->带有(['photos','seo','tags','variations','variations.children','options','options.children','categories')->其中('active','yes')->分页(8));
返回响应()->json([
“数据”=>$products,
'消息'=>'已成功检索到产品。',
]);
}

有什么想法吗?

您不需要使用
response()
。Laravel的资源类允许您以表达的方式轻松地将模型和模型集合转换为JSON

每个资源类都定义了一个
toArray
方法,该方法返回在发送响应时应转换为JSON的属性数组

公共功能索引()
{
$data=Product::orderby('id','desc')
->使用(['photos','seo','tags','variations','variations.children','options','options.children','categories']))
->其中(‘活动’、‘是’)
->分页(8);
$products=ProductFrontResource::collection($data);
退回$products;
}
附加元数据 '消息'=>'已成功检索到产品。'

是的,你可以

公共功能待命($request)
{
返回[
“数据”=>$this->collection,
'消息'=>'已成功检索到产品。'
];
}

我认为您还必须使用分页功能:ProductFrontResource::collection(另一个查询->分页(8))->分页(8)@MubasharIqbal很抱歉没明白你的意思!请给我一个样品好吗?谢谢,它正在工作,但我认为你需要编辑
return$product
退货$products如果要转换集合,该怎么办?根据文档,我可以覆盖toArray方法,对吗?但当我这样做时,它会给我一个错误:``未定义的属性:illumb\Pagination\LengthAwarePaginator::$id```