如何使用json laravel返回paginate

时间:2016-12-18 14:40:08

标签: php laravel laravel-pagination

我想创建一个以json返回的分页,但是我收到如下错误

  

Macroable.php第74行中的ErrorException:   方法链接不存在。

这是我的控制器代码

 public function getcustomer($id){

    $customer = Customer::find($id)->paginate(5);

    return response()->json([$customer], 200);
}

这里是我的刀片代码

{{$customer->links('vendor.pagination.pagination')}}

如何使用json response()创建分页?

2 个答案:

答案 0 :(得分:3)

  

Laravel paginator结果类实现Illuminate\Contracts\Support\Jsonable接口契约并公开toJson方法,因此将分页结果转换为JSON非常容易。

simpler way

如果要构建链接,则应手动执行。或者您应该像往常一样返回分页并使用render()方法构建链接并创建分页对象的副本,以使用toJson()将其转换为JSON。

答案 1 :(得分:3)

我正在运行上面提到的同一个问题,我很好奇你最终是如何解决它的。

在我的情况下,我正在做一个API请求,它获得以下解码结果:

{#388 ▼
+"total": 699
+"per_page": 50
+"current_page": 1
+"last_page": 14
+"next_page_url": "API_URL?page=2"
+"prev_page_url": null
+"from": 1
+"to": 50
+"data": array:50 [▶]
}

在我的刀片模板中:

{{ $products->links() }}

在我的刀片模板中,它表示链接方法不存在,可能是由于JSON的结构。如何手动构建链接,例如with render()?