у меня есть следующие (упрощенные) доменные классы
class Filter {
String name
static hasMany = [answers:Answer]
static belongsTo = [user:User]
}
class User {
String name
static hasMany = [answers:Answer, filters:Filter]
}
class Answer {
String text
}
Затем я добавляю ответы пользователю, который отлично работает. Проблема возникает, когда я удаляю 1 ответ пользователя:
def delete = {
def answer = Answer.get(params.id)
def users = User.withCriteria() {
answers{
eq("id", answer.id)
}
}
for (user in users)
user.removeFromAnswers(answer)
answer.delete(flush:true)
redirect(action:"index")
}
Что происходит здесь, так это то, что ВСЕ ассоциации пользователя -> ответа удаляются.
Я хочу удалить только этот 1 ответ и, конечно же, все ассоциации, в которых используется ответ.
Я знаю, что это связано с отсутствующим параметром ownTo, но я не могу его использовать, потому что ответ может принадлежать либо пользователю, либо фильтру...