0

我有一个 api,我想向我的客户发送一些信息。我正在使用资源收集来做到这一点。

    return response()->json([
        'data' => ProductResource::collection(Product::orderBy('id', 'DESC')->paginate(8)),
        'catdata' => CategoryResource::collection(Category::get()),
        'status' => "200"
    ]);

一切正常,但分页元数据不起作用。它不发送分页数据。

4

1 回答 1

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(),
            ]]);;
}
于 2018-04-03T12:05:18.037 回答