我有一个Laravel应用程序。可以通过以下网址访问其中一页:
由于要显示的项目数量可能非常多,因此我正在使用分页。我认为以下代码如下:
@foreach($media as $media_item)
<div class="col-md-3">
<div class="card">
<img class="card-img-top" src="{{ asset('storage/'.$media_item->id .'/'. $media_item->file_name) }}" ">
</div>
</div>
@endforeach
{{ $media->links() }}
在控制器中,我正在使用:
$media = Media::paginate(5);
已显示分页按钮,并且该按钮可用于第一个按钮。然后,当我单击第二个(或第三个或第四个...)时,出现以下错误消息:
方法Illuminate \ Database \ Eloquent \ Collection :: links不存在。
我看到链接正在尝试到达:
我需要:
http://localhost:8000/beeritems/gallery?item_type=glasses&page=2
在Laravel中,如何更改links()方法以在问号后包含零件?
答案 0 :(得分:1)
您必须使用->appends()
方法
$media = Media::paginate(5);
$media->appends($request->all());
答案 1 :(得分:1)
您可以使用laravel基本URL来代替使用URL get参数获取画廊图像。 像这样的东西:
定义这样的路线
/items/gallery/{types}
然后像
一样使用它http://localhost:8000/items/gallery/glasses
在这种情况下,您不会再收到该错误