我浏览了整个论坛,但是到目前为止,我所看到的解决方案与我所遇到的问题不一致,因此,我希望有更多信息的人能够为您提供帮助。
所以我有一个类别调制解调器和一个帖子模型,并且关系如下;
关于帖子模型:
public function postcategory(){
return $this->belongsTo(PostCategory::class);
}
关于类别模型:
public function posts(){
return $this->hasMany(Post::class)->where('approved', 'true');
}
并且我正在使用slug,通过以下功能来检索属于某个类别slug的所有帖子:
public function cats($category){
$posts = PostCategory::where('category_slug', $category)->first()->posts;
$category = PostCategory::where('category_slug', $category)->first();
return view('posts', compact('posts', 'category'));
}
现在,我正在尝试获取具有存储在posts表中的类别ID的类别名称。例如,如果我的类别ID为1,并且在类别表上,如果ID号为1,则如何返回名称PHP,而不是ID 1?
第二,如果我想对将帖子压缩到的视图进行分页,该怎么做?我将控制器中的代码切换为此:
$posts = PostCategory::with('posts')->where('category_slug', $category)->paginate(15);
当我添加这行代码时,它返回一些值(带有关系),但是当我将其传递给视图时,会出错。
希望有人能看到这个并帮我。 :D
答案 0 :(得分:0)
关于类别模型:
public function posts()
{
return $this->hasMany(Post::class);
}
在控制器上:
public function cats($slug)
{
$category = PostCategory::whereSlug($slug)->firstorFail();
$posts= $category->posts()->where('approved', 'true')->paginate(15);
return view('category.show', compact('posts', 'category'));
}
查看时:
@foreach($posts as $post)
$post->title
....
@endforeach
{{ $posts->links() }}