ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# :-: 编写 Trait ## 编写Trait > Rbac 权限肯定是需要和 User 和 Role 表关联的,对于使用者而言,肯定是希望直接可以让 User 表 与 Role 表有直接操作的关系,所以这里提供了 Trait 供使用者使用 ## 编写 hasRoles ```php namespace think\permissions\traits; trait hasRoles { public function roles() { return $this->belongsToMany(config('permission.model.role'), config('permission.table.user_has_roles'), 'role_id', 'uid'); } /** * 获取角色 */ public function getRoles($full = true) { return $full ? $this->roles : $this->roles()->column('role_id'); } /** * 删除相关角色 */ public function detachRoles($roles = null) { return $this->roles()->detach($roles); } /** * 关联角色 */ public function attachRoles($roles = null) { return $this->roles()->attach($roles); } } ```