我正在使用grails 2.4.2。我需要創建一個基於查詢類似關鍵字的列表。假設這是一個例子>>grails用父類和子域的查詢創建一個列表
def results = c.list(max: iDisplayLength, offset: iDisplayStart) {
and {
// eq("activeStatus", ActiveStatus.ACTIVE)
}
if (sSearch) {
or {
ilike('title', sSearch)
ilike('shortDesc', sSearch)
}
}
}
在這裏,我可以搜索字段與sSearch參數。但是,假設在這個域中我有一個名爲Parent parent的父域實例。現在,如果我也想用sSearch檢查parent.typeName的值,那麼我應該怎麼做。我試過如下>>
or {
ilike('title', sSearch)
ilike('shortDesc', sSearch)
ilike('parent.typeName', sSearch)
}
但它給出了錯誤。其實我想爲數據表做這個。在搜索選項下保留父類字段。有什麼辦法與父類對象做到這一點?你們能幫忙嗎?
我的域名 音頻領域>>
package streaming
class Audio {
static mapping = {
table('audio')
version(false)
}
String title
// StreamType streamType
String shortDesc
String filePath
String imagePath
String imageName
int downloadCount
boolean isActive
static belongsTo = [streamType: StreamType]
static constraints = {
title(nullable: false, blank: false,unique: true)
shortDesc(nullable: false, blank: false)
filePath(nullable: false, maxSize: 2000)
imagePath(nullable: false, maxSize: 2000)
imageName(nullable: false)
downloadCount(nullable: true)
}
String toString(){
return title
}
}
流類型域>>
package streaming
class StreamType {
static mapping = {
table('stream_type')
version(false)
}
String typeName
static hasMany = [audio: Audio, video: Video]
static constraints = {
typeName(nullable: false, blank: false)
}
String toString(){
return typeName
}
}
您可以直接訪問父屬性,沒有必要提及父母。嘗試'ilike('typeName',sSearch)' – user1690588
@ user1690588我試過你的方式,但它顯示以下錯誤>>'消息:無法解析屬性:typeName:streaming.Audio' –
你能發佈你的域名嗎? – user1690588