【发布时间】:2019-09-23 11:18:10
【问题描述】:
我有以下型号:
问题:[title, user_id]
回复:[body, question_id, user_id]
用户:[名称]
如你所见,一个问题有很多回复,一个回复属于一个用户。
我已将 contributors 关系添加到 Question 模型,该模型检索所有已添加回复的用户(使用回复作为连接表):
public function contributors()
{
return $this->belongsToMany(User::class, 'replies')->distinct('user_id');
}
我必须使用distinct() 来删除重复项,因为用户可能会针对一个问题发布许多回复,这很好用。
现在问题发生了:
Question::withCount('contributors')->get()
它会忽略对distinct() 的调用,并为我提供添加了回复(包括重复)的用户总数。
知道如何解决这个问题吗?
【问题讨论】:
标签: laravel laravel-5 eloquent