Как использовать разбиение на страницы вместе с методом laravel eloquent find in laravel 5.4

Я пытаюсь реализовать разбиение на страницы в laravel и получил следующую ошибку

Undefined property: Illuminate\Pagination\LengthAwarePaginator::$name 

Вот моя функция контроллера

 public function showTags($id) { $tag = Tag::find($id)->paginate(5); // when lazy loading $tag->load(['posts' => function ($q) { $q->orderBy('id', 'desc'); }]); return view('blog.showtags')->withTag($tag); } 

Вот модель тегов

 class Tag extends Model { public function posts() { return $this->belongsToMany('App\Post'); } } 

Модель Tag и Post имеет отношение ToMany Relationship, поэтому есть много сообщений по конкретному тегу, и моя цель – перебирать все сообщения в соответствии с указанными тегами в порядке убывания поста, а также осуществлять разбивку на страницы на этой странице.

Вот код для просмотра showtags

 <table class="table"> <thead> <tr> <th>#</th> <th>Title</th> <th>Tags</th> </tr> </thead> <tbody> <?php $count = 1; ?> @foreach($tag->posts as $post) <tr> <th>{{ $count++ }}</th> <th>{{ $post->title }}</th> <th>@foreach($post->tags as $tag) <span class="label label-default">{{ $tag->name }}</span> @endforeach </th> </tr> @endforeach </tbody> </table> //Here is the code i used for pagination in view <div class="text-center"> {!! $tag->posts->links() !!} </div> 

Если кто-нибудь знает, как это сделать, ответьте. Заранее спасибо.

Я решаю проблему, используя простой трюк. Моя цель состояла в том, чтобы разбивать все сообщения по тем же тегам, что и вы, ребята, видите в StackOverflow.

Модифицированная функция контроллера

 public function showTags($id) { $tag = Tag::find($id); // when lazy loading $tag->load(['posts' => function ($q) { $q->orderBy('id', 'desc')->paginate(10); }]); return view('blog.showtags')->withTag($tag); } 

Как вы, ребята, видите, что я перемещаю функцию paginate () из функции find to load, которую я использую раньше, для сортировки сообщения по убыванию.

Теперь вместо использования традиционного метода {!! $tag->links() !!} {!! $tag->links() !!} для создания ссылки на разбиение на страницы

Я использую {!! $tag->paginate(10) !!} {!! $tag->paginate(10) !!}

С помощью этой строки $tag = Tag::find($id)->paginate(5); Вы должны получить только один тег (или null, если тег с дозой id не существует), и после этого вы хотите его разбивать на страницы. Если вы хотите разбивать на страницы свои теги, получите все теги и после этого разбивайте их на страницы Tag::paginate(5)