我有这样的关系:一个secteur有很多部分,一个部分有很多用户,所以一个用户属于一个部分,一个部分属于一个secteur。
在Secteur模型中
public function sections()
{
return $this->hasMany(Section::class,'secteur_id');
}
在章节模型中
public function users()
{
return $this->hasMany(User::class,'section_id');
}
public function secteur()
{
return $this->belongsTo(Secteur::class,'secteur_id');
}
在用户模型中
public function section()
{
return $this->belongsTo(Section::class,'section_id');
}
现在我正在尝试让所有属于secteur的用户,因为我需要从secteur和所有属于我所有部分的用户中检索所有部分。
我不知道该怎么做。
ps:对不起我的英语我是法国人
答案 0 :(得分:0)
Eloquent有一个hasManyThrough关系,可能就是你想要的。
在secteur上,你可以添加:
public function users()
{
return $this->hasManyThrough(User::class, Section::class);
}
作为docs州:
“传递给hasManyThrough方法的第一个参数是名称 我们希望访问的最终模型,而第二个参数是 中间模型的名称。“
如果需要,您也可以将密钥作为附加参数传递,但是您在上面使用的那些看起来像默认值,如果它们可以省略它们。