grails应用中的混合关系
我有一个名为Event的域类。事件有许多注册,这些注册是在站点上有帐户的用户或没有帐户的用户。我希望注册用户能够跟踪他们的事件,所以事件用户关系应该是双向的,因为用户是由SpringSecurity创建的。但仍有一些注册未与用户帐户连接。这一点很重要,因为赛事是一种带有排名的现场比赛,赛事结束后由赛事负责人更新排名。如何实现这一点?这应该是可行的:grails应用中的混合关系,grails,gorm,relationship,Grails,Gorm,Relationship,我有一个名为Event的域类。事件有许多注册,这些注册是在站点上有帐户的用户或没有帐户的用户。我希望注册用户能够跟踪他们的事件,所以事件用户关系应该是双向的,因为用户是由SpringSecurity创建的。但仍有一些注册未与用户帐户连接。这一点很重要,因为赛事是一种带有排名的现场比赛,赛事结束后由赛事负责人更新排名。如何实现这一点?这应该是可行的: class User { static hasMany = [events:Event] } class Event { Use
class User {
static hasMany = [events:Event]
}
class Event {
User user
static constraints = {
user(nullable:true)
}
}
通过这种方式,您可以从事件或用户的所有事件中获取用户
编辑:
使用将用户添加到事件中
event.addToUsers(user)
event.removeFromUsers(user)
使用从事件中删除用户
event.addToUsers(user)
event.removeFromUsers(user)
从事件获取所有用户
event.users
我不太清楚你是如何处理未注册用户的。你根本没有关于这个用户的信息吗?没有用户名等等?
我建议您在用户类Boolean registered中添加一个标志。
因此,您也可以为未注册的用户创建用户对象
干杯马努这是我已经知道的部分。顺便说一句:用户事件应该是多对多。但是,我如何跟踪那些在我的网站上注册的用户和那些没有注册但参加了活动的用户,例如,注册了活动发生地的用户/我的英语很糟糕/