【发布时间】:2014-03-24 06:21:13
【问题描述】:
我有一个名为 Event 的类,其中包含许多用户对象。
static hasMany = [users:User]
如何检查给定用户是否在该集合中?有这样的功能吗?
我认为 users.find(GivenUser) 会起作用,但显然不行!
【问题讨论】:
我有一个名为 Event 的类,其中包含许多用户对象。
static hasMany = [users:User]
如何检查给定用户是否在该集合中?有这样的功能吗?
我认为 users.find(GivenUser) 会起作用,但显然不行!
【问题讨论】:
问题是如何为集合中的对象评估相等性。在不知道您是否为集合中的对象实现了自己的等号或哈希码的情况下,很难说。但是,您总是可以这样做:
users.find{it.id == givenUser.id}
正如 cmets 中所指出的,如果您有双向关系,最好使用 GORM 来查询。在这种情况下,这样做会更容易和更有效:
User.findByOtherObject(otherObject)
【讨论】: