我有一张桌子:
类别-这是车辆类别
dicts_groups-我在那里有很多东西
字典-对于我的字典组,我看到什么是身体类型
category_dict_group-数据透视表
我的类别课程
public function bodyTypes()
{
return $this->belongsToMany('App\DictGroup');
}
这是我的dictGroup类
public function dicts() {
return $this->belongsTo('App\Dict');
}
我想获取类别= 1的所有身体部位,所以我的代码现在很简单:
dd(Category::find(1)->bodyTypes()->pluck('id'));
结果是
Collection {#248 ▼
#items: array:1 [▼
0 => 7
]
}
这没关系,原因7是我认为来自数据透视表的dict_group_id。我如何从dict获取身体类型列表?就像我需要添加到函数bodyTypes以便从表DICTS(id,symbol,public_name)中获取列表一样
答案 0 :(得分:0)
您可以使用with()
来渴望加载关系:
dd(Category::with('bodyTypes', 'bodyTypes.dicts')->find(1)->bodyTypes);
这应该返回所有bodyTypes
,其中已加载dicts
关系。
以下内容应为您提供所有词典的集合:
$c = Category::with('bodyTypes', 'bodyTypes.dicts')->find(1);
dd($c->bodyTypes->pluck('dicts'));