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的工作原理。如果有更好的方法來完成這個任務,請賜教!