Laravel 5.2 分页
Posted
技术标签:
【中文标题】Laravel 5.2 分页【英文标题】:Laravel 5.2 paginating 【发布时间】:2016-05-01 16:17:16 【问题描述】:我使用这种方式为我的网站进行了分页,但仍然出现错误!我试图解决,我搜索了很多,没有找到解决方案。我希望你能帮助我。
控制器 -
class ContentController extends MasterController
public function content()
$content = content::all()->paginate(10);
$content->setPath('content'); //Customise Page Url
return view('content.boot',compact('content'));
查看 -
@extends('master')
@section('content')
@if(count($content) > 0 )
@foreach($content as $row)
<video controls>
<source src=" asset('videos/' . $row['video'] )" type="video/mp4">
</video>
@endforeach
@endif
!! $content->render() !!
@endsection
路线 -
Route::get('/', 'ContentController@content');
错误 -
Macroable.php 第 81 行中的 BadMethodCallException: 方法分页不存在。
【问题讨论】:
【参考方案1】:去掉 all() 函数,你的代码应该是:
$content = content::paginate(10);
【讨论】:
非常感谢,帮助了我,但现在它出现在视频后面,它的粘性可以说,我怎样才能让它在底部?谢谢【参考方案2】:按照 Gouda Elalfy 的建议,您应该删除对 all()
的调用。
说明
Eloquent\Builder
上的方法 paginate()
可用,这是您调用 content::paginage(10)
时隐含的方法。
但是content::all()
返回一个Collection
或Model
的数组,而不是Builder
。
【讨论】:
非常感谢,帮助了我,但现在它出现在视频后面,它的粘性可以说,我怎样才能让它在底部?谢谢【参考方案3】:这里解释了如何做到这一点https://laravel.com/docs/5.2/pagination 并基于此,您应该这样做: 1)在您的控制器中更改行 $content = content::all()->paginate(10); 成为 $content = content::paginate(10); 2)在您看来,您可以使用它 $content->appends(Request::except('page'))->links() 这会做你想做的!
【讨论】:
以上是关于Laravel 5.2 分页的主要内容,如果未能解决你的问题,请参考以下文章
Select2 Ajax Laravel 5.2 - 分页结果不起作用?