我想创建一个以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()创建分页?
答案 0 :(得分:3)
Laravel paginator结果类实现
Illuminate\Contracts\Support\Jsonable
接口契约并公开toJson
方法,因此将分页结果转换为JSON非常容易。
如果要构建链接,则应手动执行。或者您应该像往常一样返回分页并使用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()?