1

我正在使用 laravel 进行网络服务。我想返回这样的集合:

返回响应()->json([数据=> $data]);

我正在使用 laravel api 资源来转换集合。这是我的资源:

class Item extends JsonResource
public function toArray($request)
{
    return [
        'id' => $this->id,
        'name'=> $this->name,
        'city_dependent' => $this->city_dependent,
    ];

}

当我将集合传递给资源时,例如:

$items = Item::where('active' , 1)->paginate(10);
$data = Item::collection($items);

一切正常。如果我返回 $data,则分页链接和元数据正在返回并且没有问题。

"links": {
    "first": "http://127.0.0.1:8000/api/category/items?page=1",
    "last": "http://127.0.0.1:8000/api/category/items?page=1",
    "prev": null,
    "next": null
},
"meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http://127.0.0.1:8000/api/category/items",
    "per_page": 10,
    "to": 3,
    "total": 3
}

但是如果我用 response()->json() 返回数据,如下所示,所有关于“元”和“链接”的数据都将被删除!其他一切都很好。

return response()->json([
        'result' =>true,
        'data' => $data
    ]);

为什么从数据中删除分页数据和链接?有什么我错过的吗?

4

0 回答 0