0
Domain Setup 。带复合键的Grails Detached标准
Study {
Long id
String name
Site site
USState state
...
}
。
Site {
Long id
String name
...
}
。
Resource {
Long id
String name
Boolean active
USState state
...
}
。
SiteResource {
id composite: ['site', 'resource']
Site site
Resource resource
}
我有2个列表,为研究填充。 其中一个是当前关联到该网站的资源的列表 另一个是可以关联到该网站的可用资源的列表。这些可用资源是由正在积极=真正的和相同的USState内,研究
我想写一个标准来得到这个工作,但似乎无法得到它确定。我需要证明是有效的所有资源,在同一USState的研究,而不是当前与站点(目前协会是第一个表)
return Resource.createCriteria().list(sort: params.sort, order: params.order, max: params.max, offset: params.offset) {
if (params.searchText) {
ilike("name", "%${params.searchText}%")
}
eq("usState", params.state)
eq("active", true)
ne "id" , new DetachedCriteria(SiteResource).build {
'in' ("resource", params.associatedResources.resource.id)
'in' ("site", params.associatedResources.site.id)
}
}
相关的我也试过如下:
def siteResources = getSiteResourcesBySite(site).collect {
it.resource
}
def resources = resource.findAllByRefugeAndActiveNotInList(refuge, true, siteResources, [sort:"name"])
return resources.list(sort: params.sort, order: params.order, max: params.max, offset: params.offset)
我希望这是有意义的;我仍然试图找出DetachedQuery的工作原理。如果有更好的方法来完成这个任务,请赐教!