主要类别模型
public function secondaryCategories(){
return $this->hasMany('App\Models\SecondaryCategory');
}
次要类别模型
public function finalCategories(){
return $this->hasMany('App\Models\FinalCategory');
}
现在,当您从主要类别中获取记录时,它将变成这种方式
$categories = PrimaryCategory::with('secondaryCategories.finalCategories')->get();
请注意,这.
将创建一个嵌套级别,例如在第一级您将拥有主要类别,在第二级您将拥有次要类别,在第三级您将拥有最终类别。
您还可以通过具有 hasManyThrough 关系的辅助类别仅加载最终类别
内部主要类别模型
public function finalCategories()
{
return $this->hasManyThrough('App\Models\FinalCategory', 'App\Models\SecondaryCategory');
}
然后这样做
$categories = PrimaryCategory::with('finalCategories')->get();
请参阅文档以了解使用不同主键或外键时遇到的任何问题
https://laravel.com/docs/7.x/eloquent-relationships#has-many-through