我们还需要一个数据表来保存给用户分配的用户角色 ... 在命令行下面执行一下 adonis make:migration ,名字是 user_role ..
在项目里找到创建的这个 migration .. 它里面要创建的数据表的名字是 user_role ... 回滚它的时候,要删除的是 user_role 这个数据表 ..
表的结构跟之前创建的 role_permission 有点像 .. 打开这个 migration ... 复制一下 up 方法里的东西 ... 再把它们粘贴到 user_role 的 up 方法里面 ..
表里面需要一个 role_id .. 它是一个外键 . 关联的就是 roles 里的 id 字段 ..
另外还需要一个 user_id 字段 ... 也把它设置成一个外键 .. 关联的是 users 表里的 id 字段 ..
回到命令行 .. 运行一下 migration ... adonis migration:run ...
成功以后,回到数据库客户端 ... 检查一下应用的数据库 ... 你会发现,这里又多了一个叫 user_role 的数据表 .. 它里面存储的数据就是给用户分配的用户角色 ..
然后再打开 User 模型 ... 在这个模型里面我们可以再描述一下用户模型跟角色模型的关系 .. 添加一个方法 ... 名字叫 roles ...
方法 return 的是 this.belongsToMany .. 模型是 App/Models/Role ... 接着用一个 pivotTable 设置一下中间表的名字 .. 我们这里就是 user_role ...
然后再添加一个 withTimeStamps .. 因为表里有些日期字段要保存数据的创建还有更新的时间 ..