【问题标题】:Laravel 5.2 paginatingLaravel 5.2 分页
【发布时间】: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 width="330" controls>
    <source src="{{ asset('videos/' . $row['video'] )}}" type="video/mp4">
</video>
@endforeach
@endif

{!! $content->render() !!} 

@endsection

路线 -

Route::get('/', 'ContentController@content');

错误 -

Macroable.php 第 81 行中的 BadMethodCallException:
方法分页不存在。

【问题讨论】:

    标签: php html laravel view pagination


    【解决方案1】:

    去掉 all() 函数,你的代码应该是:

    $content = content::paginate(10);  
    

    【讨论】:

    • 非常感谢,帮助了我,但现在它出现在视频后面,它的粘性可以说,我怎样才能让它在底部?谢谢
    【解决方案2】:

    按照 Gouda Elalfy 的建议,您应该删除对 all() 的调用。

    说明

    Eloquent\Builder 上的方法 paginate() 可用,这是您调用 content::paginage(10) 时隐含的方法。

    但是content::all() 返回一个CollectionModel 的数组,而不是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() }}
    这会做你想做的!

    【讨论】:

      猜你喜欢
      • 2017-04-01
      • 2017-02-28
      • 1970-01-01
      • 2016-10-02
      • 2016-12-31
      • 2016-11-25
      • 2016-07-01
      • 1970-01-01
      • 2017-10-22
      相关资源
      最近更新 更多