0

所以基本上我有两个类:

Class User {
  String Name
}
Class Project {
  User requestedBy
    static hasMany =
    [
      assignedTo: User  
    ]
}

现在,我可以将 requestedBy 设置为 User 1。我也可以执行 Project.addToAssignedTo(User 1)。

当我想将用户从已分配到的用户中删除时,问题就出现了,因为它们已经作为请求者存在。我可以毫无问题地删除其他用户:

Project.removeFromAssignedTo(User 1).save(failOnError: true, flush: true)

我没有收到任何错误,只是没有删除数据。任何帮助,将不胜感激!

谢谢!

4

1 回答 1

0

当为同一个类定义多个关系时,您应该定义双向关系,并使用该mappedBy属性来定义该关系的双方:

class User {
  String Name

  hasMany = [requestedProjects: Project, assignedProjects: Project]

}
class Project {
  User requestedBy
    static hasMany =
    [
      assignedTo: User  
    ]

    static mappedBy = [requestedBy: 'requestedProjects', assignedTo: 'assignedProjects']

}

希望这可以解决您的问题。

于 2012-04-10T21:41:48.653 回答