我是 Laravel 新手,我正在开发一个带有点赞和评论的博客/帖子项目。
现在我想显示/计算用户发布的所有帖子的所有点赞数。 例如:用户 1 发表了帖子 1,而用户 2、用户 3 喜欢帖子 1,则用户 1 个人资料页面上应该显示 2 个喜欢。现在情况并非如此,我不知道我在哪里搞砸了下面的 SQL 语句。
控制器:
public function getProfilePage()
{
$user = Auth::user();
$blog = Blog::where('user_id', $user->id)->get();
$likes = Like::where('likeable_id', $blog)->get();
$comments = DB::table('comments')->where('user_id', $user->id)->get();
return view('auth.profile', compact('user', 'blog', 'likes', 'comments'));
}
在 Blade 文件中我计数($likes)
现在我知道问题出在 $blog 的某个地方,但据我所知,这个说法应该是正确的。仍然返回 0 个赞。
看起来您正在使用博客和点赞之间的多态关系。检查您是否在模型中正确建立了这种关系。它的文档在这里。 Laravel 关系文档
您的博客模型中应该有一个变形许多功能,并且在您的可爱模型中应该有变形功能。示例和文档中的注释很好地解释了它