Я использую 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.typeName с sSearch, тогда как мне это сделать. Я пробовал следующее:
or {
ilike('title', sSearch)
ilike('shortDesc', sSearch)
ilike('parent.typeName', sSearch)
}
Но это дает ошибку. На самом деле я хочу сделать это для данных. Чтобы сохранить поле родительского класса под опцией поиска. Есть ли способ сделать это с помощью объекта родительского класса? Можете ли вы, ребята, помочь?
My Domain Audio Domain >>
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
}
}
домен StreamType >>
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 of: streaming.Audio' –
Можете ли вы разместить свои домены? – user1690588