我有这个功能,我根据他们的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();
任何想法?
答案 0 :(得分:0)
您需要在模型中添加一个函数来获取帖子然后分页。
在您的控制器中
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分页的更多信息here
希望它对你有帮助:)。