我在Laravel应用程序中设置了以下模型/表格;
用户
id
profile_id
个人资料
id
说明
模块
id
说明
子模块
id
说明
module_id
个人资料权限
id
profile_id
submodule_id
Permission_id
用户只有一个个人资料
一个模块有很多子模块
子模块具有许多权限
我仍在尝试用雄辩的口才找出来。如何获取profile_id 1格式的数组?:
[module.id] [submodule.id] [permission.id]
示例输出
[1] [10] [1]
[1] [10] [2]
[1] [10] [3]
答案 0 :(得分:0)
您可以像这样在hasMany
模型和Profile
之间定义ProfilePermission
关系
个人资料模型
public function profilePermissions(){
return $this->hasMany(ProfilePermission::class, 'profile_id');
}
现在您可以像这样获取它
$profile = Profile::with('profilePermissions')->find(1);
foreach($profile->profilePermissions as $pp){
echo $pp->profile_id.'-'. $pp->submodule_id .'-'. $pp->permission_id
}
注意:如果您在belongsTo
模型中为每个外键ProfilePermission
,profile_id
和submodule_id
定义permission_id
关系,则您也可以访问其模型。