在具有 unique() 的关系上使用 withCount()

Amr*_*man 3 laravel eloquent laravel-5

我有以下型号:

问题:[标题,user_id]

回复:[正文、问题 ID、用户 ID]

用户名]

可以看到,一个问题有很多条回复,一条回复属于一个用户。

我已向问题模型添加了贡献者关系,该模型检索已添加回复的所有用户(使用回复作为联接表):

public function contributors() 
{
    return $this->belongsToMany(User::class, 'replies')->distinct('user_id');
}
Run Code Online (Sandbox Code Playgroud)

我必须使用distinct()删除重复项,因为用户可能会针对一个问题发布许多回复,而这效果很好。

现在,当我这样做时,问题就发生了:

Question::withCount('contributors')->get()
Run Code Online (Sandbox Code Playgroud)

它会忽略对的调用distinct(),并提供已添加回复(包括重复项)的用户总数。

知道我该如何解决这个问题吗?