我拥有User,Role和Permission模型。用户只与角色和角色有关系,所以用户和权限之间没有任何关联。Laravel Eloquent:如何获得第三个模型,只使用第二个模型连接的第一个模型
榜样
public function users(){
return $this->belongsToMany('App\User', 'role_user', 'user_id', 'role_id');
}
public function permissions(){
return $this->belongsToMany('App\Permission', 'permission_role', 'permission_id', 'role_id');
}
用户模式
public function roles(){
return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
}
权限模型
public function roles(){
return $this->belongsToMany('App\Role', 'permission_role', 'permission_id', 'role_id');
}
所以我能得到了用户的角色,如果我做
$users->roles
现在,我怎么能得到用户角色权限直接使用只用角色和角色连我的用户模式,只有一个谁许可连接
$users->role()->permission
['hasManyThrough'(https://laravel.com/docs/5.5/eloquent-relationships#has-many-through)看起来像正是你所需要的 – apokryfos
@apokryfos有没有可能使用这个反例呢?类似于用户权限而不是用户权限 –
在文档示例中,国家/地区有许多通过用户发布的帖子,帖子也通过用户属于许多国家。我希望这两个方向都可以和'hasManyThrough'一起工作。 – apokryfos