我在按类别显示帖子的代码中出现了一些问题。关系是一对多,岗位到类别..。我可以转到选择类别,但是帖子没有显示..
这是我的邮政模型:
public function category()
{
return $this->belongsTo(CategoriesPost::class);
}类别模式:
public function posts()
{
return $this->hasMany(Post::class, 'category_id');
}这是我的PostController
$posts = Post::where('article_status', 'published')->whereHas('category', function ($query) use ($slug) {
return $query->where('category_slug', $slug);
});
$category = CategoriesPost::where('category_slug', $slug)->first();
return view('pages.article', [
'posts' => $posts,
'category' => $category,
]);我很确定我的代码是正确的,但是为什么它没有显示帖子,有没有人注意到我的代码的问题在哪里?
发布于 2022-06-25 09:08:15
与其分别查询相关的Posts,不如通过您在Category模型中定义的关系访问它们?它将通过减少对数据库的调用次数来提高性能。
所以,就像:
$category = CategoriesPost::with(['posts'])->where('category_slug', $slug)->first();然后,您可以访问视图中的posts属性上的$category关系:
$category->posts;https://stackoverflow.com/questions/72752457
复制相似问题