我擁有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