Имея посты категории laravel (на основе пули) с нумерацией страниц - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть эта функция, где я получаю свои категории на основе их slug

public function postcategoryposts($slug){
  $category = PostCategory::where('slug','=',$slug)->firstOrFail();
  return view('front.postcategory-posts', compact('category'));
}

В настоящее время я получаю сообщения по каждой категории в виде клинка:

@foreach($category->posts as $post)
  {{$post->title}}
@endforeach

пока здесь все нормально, проблема в том, как разделить мои посты на страницы?Я не могу использовать:

$category = PostCategory::where('slug','=',$slug)->paginate(10);

, потому что я использую

firstOrFail();

Любая идея?

1 Ответ

0 голосов
/ 25 апреля 2018

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

В вашем контроллере

public function postcategoryposts($slug)
{
  $category = PostCategory::where('slug','=',$slug)->firstOrFail();
  $posts = $category->getPaginatedPosts(10);
  return view('front.postcategory-posts', compact('posts'));
}

В вашей модели

// PostCategory model
public function getPaginatedPosts($limit = 10)
{
  // Get category posts using laravel pagination method
  return Post::where('category_id', '=', $this->id)->paginate($limit);
}

Вваш клинок

<div class="container">
    @foreach ($posts as $post)
        {{ $post->title }}
    @endforeach
</div>

{{ $posts->render() }}

Более подробная информация о пагинации Laravel здесь

Надеюсь, это поможет вам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...