4

我有domain class User,它與domain class LibraryElement有多對多的關係。我試圖過濾屬於用戶的所有庫元素,其中包含特定的文本。這是搜索的屬性和關係是如何定義的:Grails可搜索插件多對多搜索

用戶側:

static searchable = { 
    id name: 'userId' 
    libraryElements component: true 
} 

static hasMany = [libraryElements: LibraryElement] 

LibraryElement方:

static searchable = { 
    users component: true 
} 

static belongsTo = User 
static hasMany = [users: User] 

我試圖執行搜索這樣的:

LibraryElement.search("userId:" + userId + " libraryElementName:" + searchWord + "*") 

即使在數據庫中有一個數據應該被這個搜索命中,我也會得到0個結果。

+0

什麼是libraryElementName,我沒有看到它在LibraryElement中,可以請詳細說明。 –

+0

它是LibraryElement域內的字符串字段。 – rastko

回答

0

你有沒有試過這樣:

LibraryElement.search(searchWord +" AND userId:userId", params)