Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails 使用Groovy检查对象是否在集合中_Grails_Groovy - Fatal编程技术网

Grails 使用Groovy检查对象是否在集合中

Grails 使用Groovy检查对象是否在集合中,grails,groovy,Grails,Groovy,我有一个名为Event的类,其中有许多用户对象 static hasMany = [users:User] 如何检查给定用户是否在该集合中?是否有一个函数可以执行此操作 我以为users.find(GivenUser)会有用,但显然不行 问题是如何为集合中的对象计算相等性。如果不知道您是否为集合中的对象实现了自己的equals或hashcode,很难说。但是,您始终可以这样做: users.find{it.id == givenUser.id} 正如评论中指出的,如果您有双向关系,最好使用G

我有一个名为Event的类,其中有许多用户对象

static hasMany = [users:User]
如何检查给定用户是否在该集合中?是否有一个函数可以执行此操作


我以为users.find(GivenUser)会有用,但显然不行

问题是如何为集合中的对象计算相等性。如果不知道您是否为集合中的对象实现了自己的equals或hashcode,很难说。但是,您始终可以这样做:

users.find{it.id == givenUser.id}
正如评论中指出的,如果您有双向关系,最好使用GORM来查询。在这种情况下,将更容易和有效地:

User.findByOtherObject(otherObject)

问题是如何为集合中的对象计算相等性。如果不知道您是否为集合中的对象实现了自己的equals或hashcode,很难说。但是,您始终可以这样做:

users.find{it.id == givenUser.id}
正如评论中指出的,如果您有双向关系,最好使用GORM来查询。在这种情况下,将更容易和有效地:

User.findByOtherObject(otherObject)

如果您有一个双向关系User.someParentDomain,那么您实际上可以使用someParentDomain.findByUser(User)Oops更快地完成它,而无需加载所有用户对象。事实上,我是通过另一种方式得到它的,抱歉:您想要的是User.findBySomeParentDomain(parent)如果您有一个双向关系User.someParentDomain,然后你可以更快地完成它,而不用加载所有的用户对象,使用SomeParentDomain.findByUser(用户)哦,实际上我是通过另一种方式得到的,对不起:你想要的是User.findBySomeParentDomain(父)