首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel Eloquent中急切加载嵌套关系

问在Laravel Eloquent中急切加载嵌套关系
EN

Stack Overflow用户
提问于 2017-05-03 14:40:48
回答 1查看 972关注 0票数 2

我有六个模型:分区、区域、区域、分支、管理信息系统和策略。一个分区有多个区域,一个区域有多个区域,一个区域有多个分支,一个分支有多个mises,一个管理信息系统有一个策略,一个策略属于一个管理信息系统。我想立即加载一个包含mis、分支、区域、区域和分区的策略。当我尝试这样做时,一个策略被加载了缺失和分支,但是其他的关系没有被加载。以下是我的模型:

部门:

代码语言:javascript
复制
public function regions () {
    return $this->hasMany(Region::class);
}
public function areas () {
    return $this->hasManyThrough(Area::class, Region::class);
}

地域:

代码语言:javascript
复制
public function division () {
    return $this->belongsTo(Division::class);
}
public function areas () {
    return $this->hasMany(Area::class);
}
public function branches () {
    return $this->hasManyThrough(Branch::class, Area::class);
}

区域:

代码语言:javascript
复制
public function region () {
    return $this->belongsTo(Region::class);
}
public function branches () {
    return $this->hasMany(Branch::class);
}

分支:

代码语言:javascript
复制
public function area () {
    return $this->belongsTo(Area::class);
}
public function mises () {
    return $this->hasMany(Mis::class);
}

Mis:

代码语言:javascript
复制
public function policy () {
    return $this->hasOne(Policy::class);
}
public function branch () {
    return $this->belongsTo(Branch::class);
}

政策:

代码语言:javascript
复制
public function mis () {
    return $this->belongsTo(Mis::class);
}

这就是我试图做的急切加载:

代码语言:javascript
复制
public function showPolicyReport () {
    $policies = Policy::with('mis.branch.area.region.division')->get();
    dd($policies);
}

如果有人能帮我找到解决方案,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-05-03 15:20:46

不要紧。实际上,关系已正确加载。dd()方法并没有显示所有的嵌套关系。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43752848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档