Я немного новичок в 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]
}
Контроллер работает хорошо, но я хочу быть в состоянии обойти не только компьютерэкземпляры, а также комната с идентификаторами этого компьютера.Я не знаю, как это сделать, но было бы что-то вроде этого (тот же контроллер, то же действие):
def print = {
def user = User.get(1)
def computer = Computer.findAllByUser(user) // all computers filtered by User
def room = Room.findAllByComputer(computer) ##
[computer: computer]
}
Ну, это неправильно, потому что, где### is, 'computer' представляет список идентификаторов, а не один идентификатор.Когда я передаю список компьютеров, которые будут напечатаны в моем gsp, внутри ag: каждый тег выглядит так: (it. Processor, it. Ram).Я не знаю, как получить все комнаты, которые используют текущий компьютер в каждом теге.Это немного сложно объяснить, но в основном мой вывод будет таким:
<g:each in="${computer}"
Computer1:
Processor: ${it.processor}
Ram: ${it.ram}
Room: ????? (How to get here??)
</g:each>