我有3個模型:User
,Role
,Tool
其中每個用戶可以有很多角色,每個角色可以有很多工具。Laravel ManyToMany多個
多對多的關係在每種情況下都能很好地工作。我可以訪問:
User::find(1)->roles
Tool::find(1)->roles
Role::find(1)->tools
Role::find(1)->users
我的表是:
users
id
name
roles
id
name
tools
is
name
role_user
id
role_id
user_id
role_tool
id
role_id
tool_id
在每個模型:
//In User Model
public function roles()
{
return $this->belongsToMany('Rol');
}
//In Role Model
public function users()
{
return $this->belongsToMany('User');
}
public function tools()
{
return $this->belongsToMany('Tool');
}
//In Tool Model
public function roles()
{
return $this->belongsToMany('Rol');
}
我需要得到像單個用戶的所有工具:User::find(1)->roles()->tools
。我怎樣才能做到這一點?
但我l9ke一解決方案在一個訪問數據庫不是一個foreach解決方案 – CRIMUVI
@CRIMUVI我擴展了我的答案給你。 – totymedli
工作最後的解決方案,謝謝! – CRIMUVI