如何从不同的表中计算laravel

Posted

技术标签:

【中文标题】如何从不同的表中计算laravel【英文标题】:How to count in laravel from different table 【发布时间】:2019-02-23 05:59:12 【问题描述】:

嘿,我正在制作数据表,以显示登录并发布该帖子的用户对我的帖子有多少评论,但我遇到了一些错误,它只检索了 1 条但实际上我得到了 26 条评论,我不知道为什么。

在我的控制器中:

public function getCountComment()

    $user = Auth::user();
    return $all_count = $user->post()
        ->withCount('comment_to_post')
        ->take(5)->get();

模型comment.php

public function comment_to_post()

    return $this->belongsTo('App\Post','id_user');

我有 26 条评论,但它只检索到 1 条评论计数。希望你们能帮帮我

“comment_to_post_count”:1

【问题讨论】:

您可以尝试删除查询中的 take(5)。 take 5 将限制帖子数量而不是 cmets 数量 仍然只有 1 次检索 【参考方案1】:

你应该试试这个:

public function getCountComment()

    $user = Auth::user();
    $all_count = $user->post()
        ->withCount('comment_to_post')
        ->count();
    return $all_count;

【讨论】:

【参考方案2】:

我在我的代码中做过这样的事情——希望对你有帮助

public function getCountComment()

    $user = Auth::user();
    $posts = $user->posts();

    foreach ($posts as $key => $value) 
        $posts[$key]->post_comments_count = PostComment::where('post_id', $value->id)->count(); 
    
    return $posts;

【讨论】:

【参考方案3】:

删除 take(5) 方法(限制)可能会修复它..

【讨论】:

以上是关于如何从不同的表中计算laravel的主要内容,如果未能解决你的问题,请参考以下文章

在一个查询 MYSQL 上从 2 个不同的表中计算 2 个不同的东西

如何从不同模式的表中查看记录?

如何从不同的表中减去两个整数值

SQL,如何从不同的表中选择属性?

如何从 3 个不同的表中插入内连接

如何从 SQLite 中的表中选择最新的 100 个不同条目?