(Quick Reference)
addTo*
Purpose
Adds a domain class relationship for one-to-many or many-to-many relationship, where the relationship is indicated by the property used as the suffix to the method.
Examples
def fictBook = new Book(title:"IT")
def nonFictBook = new Book(title:"On Writing: A Memoir of the Craft")
def a = new Author(name:"Stephen King")
.addToFiction(fictBook) // 'fiction' is name of relationship property
.addToNonFiction(nonFictBook) // 'nonFiction' is name of relationship property
.save()
Description
The
addTo*
method is a dynamic method that uses an association to automatically add instances to the association. It also automatically configures bi-directional relationship so that both sides o the relationship have been set.
The method expects an instance of the associated class:
def fictBook = new Book(title:"IT")
def nonFictBook = new Book(title:"On Writing: A Memoir of the Craft")
def a = new Author(name:"Stephen King")
.addToFiction(fictBook) // 'fiction' is name of relationship property
.addToNonFiction(nonFictBook) // 'nonFiction' is name of relationship property
.save()
Or a map, in which case it auto-instantiates an instance of the associated class:
def a = new Author(name:"Stephen King")
.addToFiction(title:"IT")
.addToNonFiction(title:"On Writing: A Memoir of the Craft")
.save()