试图获得3级laravel关系

时间:2016-03-19 07:26:40

标签: laravel eloquent

让我先把代码放进去......

权限模型

class Permission extends Model {
    public function roles()
    {
        return $this->belongsToMany('App\Role');
    }

    public function menus()
    {
        return $this->belongsTo('App\Menu');
    }
}

角色模型

class Role extends Model {

    public function users()
    {
        return $this->hasMany('App\User');
    }

    public function permissions()
    {
        return $this->belongsToMany('App\Permission');
    }
}

菜单型号

class Menu extends Model {
    public function permissions()
    {
        return $this->hasMany('App\Permission');
    }
}

用户模型

class User extends Authenticatable {    
    public function role()
    {
        return $this->belongsTo('App\Role');
    }

 }

那么, 我想尝试一下(假设我已经有一个用户)$user->role->permissions->menus 我正在尝试获取角色,然后是与该角色关联的权限,然后是与该权限关联的菜单项。

如果我在解释自己,请发信息。

1 个答案:

答案 0 :(得分:2)

$users = App\User::with('role.permissions.menus')->get();