Laravel获得许多关系的财产

时间:2017-01-11 09:27:25

标签: php mysql laravel

enter image description here

我的用户模型:

public function roles()
{
  return $this->belongsToMany('App\Role', 'user_role_pivot', 'user_id', 'role_id');
}

我的榜样:

public function users()
{
  return $this->belongsToMany('App\User', 'user_role_pivot', 'role_id', 'user_id');
}

public function rolepermissions()
{
  return $this->belongsToMany('App\User', 'role_permissions_connect', 'role_id', 'role_perm_id');
}

在laravel中我想获得请求用户角色权限,这是我在表格中的关系。我怎样才能获得role_permissions的属性? 我试过这个:

$user->roles->rolepermissions->pluck('permission_name')

2 个答案:

答案 0 :(得分:0)

$user=User::find(1);    
foreach($user->roles as $role)
    {
       foreach($role->rolepermissions as $rolepermission)
       {
             echo $rolepermission->permission_name;
       }
    }

答案 1 :(得分:0)

Role模型中,您的rolepermissionsApp\User模型相关联:

public function rolepermissions()
{
  return $this->belongsToMany('App\User', 'role_permissions_connect', 'role_id', 'role_perm_id');
}

您应该将belongsToMany('App\User' ...更改为belongsToMany('App\RolePermission' probalby。

相关问题