この方法を使用してサイトのページ付けを行いましたが、それでもエラーが発生します。解決しようとしましたが、たくさん検索しましたが、解決策が見つかりませんでした。あなたが私を助けてくれることを願っています。
コントローラー-
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:
メソッドpaginateは存在しません。
all()関数を削除すると、コードは次のようになります。
$content = content::paginate(10);
Gouda Elalfyが提案しているように、all()
の呼び出しを削除する必要があります。
メソッドpaginate()
は _Eloquent\Builder
_ で使用できます。これは、content::paginage(10)
を呼び出すときに暗黙的に持つものです。
ただし、 content::all()
は、Collection
ではなくModel
またはBuilder
の配列を返します。
ここではそれを行う方法を説明しています https://laravel.com/docs/5.2/pagination そしてそれに基づいてあなたがすべきこと:
1)コントローラーで$ content = content :: all()-> paginate(10);という行を変更します。
することが
$ content = content :: paginate(10);
2)あなたの見解では、これを使用できます
{{$ content-> appends(Request :: exception( 'page'))-> Links()}}
これでやりたいことができます!!