Grails控制器动态查找器

时间:2011-05-23 13:47:39

标签: grails controllers

我是Grails的新手,所以我需要帮助解决这个问题。想象一下,我有这些课程:

Class User{
String name
String nr

}

class Computer{

String processor
String ram
User user
}

Class Room{
String roomNr
Computer computer
}

我想做一个像这样的控制器:

def print= {

        def user = User.get(1)

        def computer = Computer.findAllByUser(user) // all computers filtered by User

        [computer: computer]       
    }

控制器运行良好,但我希望不仅能够传递计算机实例,还能传递具有该计算机ID的Room。我不知道该怎么做,但会是这样的(同样的控制器,同样的动作):

def print= {

            def user = User.get(1)

            def computer = Computer.findAllByUser(user) // all computers filtered by User
            def room = Room.findAllByComputer(computer) ##

            [computer: computer]       
        }

嗯,这是错误的,因为,###是,'computer'表示id的列表,而不是单个id。当我传递一个要在我的gsp中打印的计算机列表中的g:每个标签都是这样的:(它。处理器,它.Ram)。我不知道如何获得在每个标签中使用当前计算机的所有房间。这有点难以解释,但基本上我的输出将是:

<g:each in="${computer}"
Computer1:
Processor: ${it.processor}
Ram: ${it.ram}
Room: ????? (How to get here??)
</g:each>

PS。我不能一对多双向,因为,如果我在房间表poitinng到计算机表有一个外键,这意味着每个房间线必须有一个计算机参考。这可能发生或。所以我正在为我的问题寻找解决方案。

0 个答案:

没有答案