我使用Laravel 5.5,并且有以下两个模型:Exercice
和ExerciceStudent
。
在我的Exercice
模型中,我有以下关系:
public function exercicesStudents()
{
return $this->hasMany('App\Models\ExerciceStudent');
}
public function exercicesChildren()
{
return $this->hasMany('App\Models\Exercice', 'parent_id', 'id');
}
一个Exercice
可以有几个ExerciceStudent
和几个Exercice
的孩子(使用Exercice
模型中的parent_id字段)。
我希望能够将ExerciceStudent
的数量Exercice
进行计数,但是我希望拥有孩子的数量。
我尝试在我的Exercice
模型中使用hasManyThrough:
public function exercicesStudentsByParent()
{
return $this->hasManyThrough('App\Models\ExerciceEtudiant', 'App\Models\Exercice', 'parent_id');
}
我没有错误,但是计数:->withCount('exercicesStudentsByParent')
始终为0。是否可以使用同一张表?
奇怪的是:->with('exercicesStudentsByParent')
为我送回了正确的儿童学生。