Grails: боль от добавления нескольких дочерних элементов к объекту родительского домена - PullRequest
0 голосов
/ 25 июня 2018

Я относительно новичок в Grails / GORM, и до этого у меня было гораздо меньше подверженности спячке.

Я пытаюсь отобразить дочерние объекты в родительский объект в граалях. У меня есть несколько дочерних объектов для сопоставления. Дочерние объекты уже существуют в базе данных.

class Parent {
    static hasMany = [children: Child]
}

class Child {
    String name
}

Я пробовал следующие шаги,

def parentId = <a valid parent domain id>
def parent = Parent.get(parentId)
def children = Children.getAll([list of valid children ids])

Я попробовал addTo* со списком дочерних объектов, и он не работал.

parent.addToChildren(children)

Отображается только первый элемент из списка.

Я также попробовал следующий фрагмент, он тоже не сработал.

parent.children += children
parent.save(flush:true)

Я не смог найти способ сделать это без использования цикла. Я считаю, что я что-то здесь упускаю.

1 Ответ

0 голосов
/ 25 июня 2018

Попробуйте: children.each { parent.addToChildren(it) }

addTo принимает только один экземпляр, а не список.Так что итерируйте список и добавьте отдельные экземпляры.

...