关系如何拉拉维尔身份验证



我为我的网站编写管理面板,我有表格;

当局

  • 编号
  • 名字

角色

  • 编号
  • 名字

role_authorities

  • 编号
  • role_id
  • authority_id

user_roles

  • 编号

  • user_id

  • role_id

  • 部分

我想在该用户登录中,如果用户>任务== 1,因此用户是管理员,我获得角色和roles_authorities,因此我拥有用户的权限。

如何建立关系?

TNX

试试这个:

用户

class user{
public function roles()
{
return $this->hasMany('AppUserRoles');//pathe to UserRoles model
}
}

user_roles

class UserRoles{
public function role()
{
return $this->hasOne('AppRole');//path to role model
}
public function user()
{
return $this->hasOne('Appuser');//path to user model
}
}

role_authorities

class RoleAuthorities{
public function role()
{
return $this->hasOne('AppRole');//path to role model
}
public function authorities()
{
return $this->hasOne('AppAuthorities');//path to Authorities model
}
}

所以你可以这样打电话:

foreach(User::find(1)->roles as $roleItem){
echo $roleItem->role()->name;
}

我强烈建议使用第三方软件包。 https://github.com/Zizaco/entrust

最新更新