Grails найти родителя по ребенку - PullRequest
0 голосов
/ 28 октября 2011

Я просматриваю интернет и пока не нашел ответа на свой вопрос.Должно быть довольно просто:

class Parent {
  String name
  Child child
}

Когда у меня есть дочерний объект, как я могу получить от него Родителя?как:

def Parent = Parent.findByChild (child)

Как я могу получить родительский объект этим потомком?

спасибо

Ответы [ 2 ]

3 голосов
/ 28 октября 2011

Куда ты посмотрел?

Это доменные классы?Если это так, то вы можете подключить их через has_many и assign_to:

class Parent {
    String name
    List children
    static has_many = [ children: Child ]
}

class Child {
   static belongs_to = [ parent: Parent ]
}

Тогда вы можете просто написать child.parent

0 голосов
/ 30 октября 2011

def parent = Parent.findByChild(child) отлично работает - вы можете использовать динамические искатели для скалярных полей (строк, чисел, логических значений и т. Д.) И других объектов.

Выполнение обратного действия и поиск всех Child экземпляров для данного Parent немного сложнее, но это можно сделать с помощью HQL:

def p = Parent.get(id)
def children = Parent.executeQuery(
       'select c from Child c, Parent p where p.child=c and p=:parent',
       [parent: p])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...