Laravel。如何从控制器返回link()分页

时间:2018-04-03 05:03:56

标签: php laravel-5 pagination

我试图使用链接功能从控制器返回分页,但是我返回一个空值。可能是什么问题?

$models= Model::with('table2', 'table3')
->simplePaginate(5);
$str= "";
foreach($models as model){
       $str .= model['name'];
}
return response()->json([
        'rows' => $str,
        'links' => $models->links()
    ], 200);

laravel 5.5

如果我回来

return $models->appends(['rows' => $str])->links();

我得到了我想要的东西。但是当您尝试返回数组或json时,链接为空

2 个答案:

答案 0 :(得分:0)

调用simplePaginate方法时,您将收到Illuminate\Pagination\Paginator.的实例。这些对象提供了几种描述结果集的方法。除了这些帮助器方法之外,paginator实例也是迭代器,可以作为数组循环。因此,一旦检索到结果,您可以使用Blade:

显示结果并呈现页面链接
<div class="container">
    @foreach ($models as $user)
        {{ $user->name }}
    @endforeach
</div>

{{ $models->links() }}

答案 1 :(得分:0)

根据您的需要,使用toArraytoJson方法。例如::

$models = Model::with('table2', 'table3')->paginate(5)->toArray();
return [
    'models' => $models
];