Laravel SQL 语句返回 null

问题描述 投票:0回答:1

我是 Laravel 新手,我正在开发一个带有点赞和评论的博客/帖子项目。

现在我想显示/计算用户发布的所有帖子的所有点赞数。 例如:用户 1 发表了帖子 1,而用户 2、用户 3 喜欢帖子 1,则用户 1 个人资料页面上应该显示 2 个喜欢。现在情况并非如此,我不知道我在哪里搞砸了下面的 SQL 语句。

Blogs table: Likes table:

控制器:

    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 个赞。

sql mysql laravel count laravel-blade
1个回答
0
投票

看起来您正在使用博客和点赞之间的多态关系。检查您是否在模型中正确建立了这种关系。它的文档在这里。 Laravel 关系文档

您的博客模型中应该有一个变形许多功能,并且在您的可爱模型中应该有变形功能。示例和文档中的注释很好地解释了它

© www.soinside.com 2019 - 2024. All rights reserved.