我正在与 Sangria 和 Slick 建立多对多的关系。我有 3 个对象:角色、权限和角色权限(映射表)
case class Role(id: Long, name: String)
case class Permission(id: Long, name: String)
case class RolePermission(id: Long, roleId: Long, permissionId: Long)
到目前为止,我想出了如何定义关系:
val permissionsByRoleId = Relation[Permission, (RolePermission, Permission), Long]("permissionsByRoleId", tmp ⇒ Seq(tmp._1.roleId), _._2)
我不知道如何定义fetcher
以及如何将正确的字段添加到角色架构,以便我可以检索通过中间表传递的角色权限。
有什么帮助吗?