Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel withCount,如果父注释用户处于非活动状态,则不计算注释_Php_Mysql_Laravel_Orm_Lumen - Fatal编程技术网

Php Laravel withCount,如果父注释用户处于非活动状态,则不计算注释

Php Laravel withCount,如果父注释用户处于非活动状态,则不计算注释,php,mysql,laravel,orm,lumen,Php,Mysql,Laravel,Orm,Lumen,我遇到了一个奇怪的问题,我找不到解决办法 例如,我在一个社交网站上有一个评论系统,它对家长对某个状态、图片或任何东西的评论有无限级别的回复 所以我用$q->withCount(“回复”)计算回复数 我有一个globalScope,可以检查用户是否处于非活动状态(活动1或0)。它在不显示非活动用户注释及其子命令的情况下工作得很好,但它确实计算了错误的回复总数 示例代码: $discourse = RockChat::with([ "getAuthor", "isLiked",

我遇到了一个奇怪的问题,我找不到解决办法

例如,我在一个社交网站上有一个评论系统,它对家长对某个状态、图片或任何东西的评论有无限级别的回复

所以我用$q->withCount(“回复”)计算回复数 我有一个globalScope,可以检查用户是否处于非活动状态(活动1或0)。它在不显示非活动用户注释及其子命令的情况下工作得很好,但它确实计算了错误的回复总数

示例代码:

$discourse = RockChat::with([
    "getAuthor",
    "isLiked",
    "lastReply",
    "category"    => function ($q) {
        $q->addSelect("name", "id");
    },
    "subcategory" => function ($q) {
        $q->addSelect("name", "id");
    },
    "replies" => function ($q) {
        $q->withCount("likes");
        $q->with(["isLiked", "replies" => function ($q) {
            $q->withCount("likes");
            $q->with(["isLiked"]);
        }]);
    }])
    ->withCount("replyNumber")
    ->withCount("likes")
    ->where("category_id", $request->get("category"))
    ->where("subcategory_id", $request->get("subcategory"))
    ->where("slug", $request->get("id"))
    ->first();
还有一个环球镜

protected static function boot()
{
    parent::boot();

    static::addGlobalScope('user_active', function (Builder $builder) {
        $builder->whereHas('getAuthor');
    });
}
我很不明白,如何检查家长评论用户是否处于非活动状态,所以不要将孩子的回复计算为对状态或图片评论或其他内容的回复总数

我尝试应用全局范围和计数关系方法


谢谢

发布它正在生成的SQL以及您需要它生成的SQL。您可能需要通过连接到parentPost来再次添加该条件,以显示它正在生成的SQL以及您需要它生成的SQL。您可能需要通过连接到父级来再次添加条件