Database 雄辩的关系计数问题

Database 雄辩的关系计数问题,database,laravel,eloquent,Database,Laravel,Eloquent,我目前有以下问题: $eloquentEntity->relation->count() 及 有时返回两个不同的值(第一个值有时为零)。奇怪的是,尽管所有$Eloquentity都是批量检索的,但只是有时候值是不同的 $Eloquentity是使用 $eloquentEntities = EloquentEntity::with(['relation'])->get() 因此,在关系集合上运行count()时,该关系中包含的所有内容都应该可用 有人知道我做错了什么吗?你可以

我目前有以下问题:

$eloquentEntity->relation->count()

有时返回两个不同的值(第一个值有时为零)。奇怪的是,尽管所有$Eloquentity都是批量检索的,但只是有时候值是不同的

$Eloquentity
是使用

$eloquentEntities = EloquentEntity::with(['relation'])->get()
因此,在关系集合上运行
count()
时,该关系中包含的所有内容都应该可用


有人知道我做错了什么吗?

你可以使用计数属性,例如:

  public function getReferalUsersAttribute()
    {
        return $this->hasMany('App\User', 'referal_id' , 'id')->count();

    }
并在模型中附加这样的属性

protected $appends = [
        'referal_users'
    ];

您可以使用计数属性,例如:

  public function getReferalUsersAttribute()
    {
        return $this->hasMany('App\User', 'referal_id' , 'id')->count();

    }
并在模型中附加这样的属性

protected $appends = [
        'referal_users'
    ];

您可以使用
withCount()
方法计算关系金额。像这样的

$eloquentities=eloquentity::withCount('relation')->get();
foreach($row形式的口才){
echo$row->relationship_count;//打印关系计数
}

您还可以查看以了解更多信息

您可以使用
withCount()
方法计算关系金额。像这样的

$eloquentities=eloquentity::withCount('relation')->get();
foreach($row形式的口才){
echo$row->relationship_count;//打印关系计数
}

如果count关系实体尝试这样的代码,您还可以查看更多信息

$posts = App\Post::withCount('comments')->get();
foreach ($posts as $post) {
 echo $post->comments_count;
}

如果计数关系实体尝试以下代码

$posts = App\Post::withCount('comments')->get();
foreach ($posts as $post) {
 echo $post->comments_count;
}

我刚刚找到了解决方案:我们使用UUID作为主键,但忘记设置
public$keyType='string'在我们的模型上。他们在默认情况下将键解释为整数,出于某种原因,这在UUID中大部分时间都有效。

我刚刚找到了解决方案:我们使用UUID作为主键,但我们忘记设置
public$keyType='string'在我们的模型上。他们在默认情况下将键解释为整数,出于某些原因,这在UUID中大部分时间都有效。

尝试
sizeof($eloquentity->relation)
检查此项使用此
计数($eloquentity->relation)
在使用
$eloquentity->relation->count()
之前,您是否已检索到关系?如果是这样的话,它是否受到任何方式的约束,例如where子句?请尝试
sizeof($eloquentity->relation)
检查此项使用此
count($eloquentity->relation)
在使用
$eloquentity->relation->count()
之前,您是否已检索到关系?如果是,是否以任何方式对其进行了约束,例如where条款?