hasMany不提取记录

时间:2017-10-26 12:30:51

标签: grails gorm

我创建了3个域类

 class Menu {
    String menuName
    static hasMany = [menuItems : MenuItem ]
    ...
}

class MenuItem {
    String itemName
    ...
    static belongsTo = [menu: Menu]
    static hasMany = [menuItemTaxes : MenuItemTax ]
}

class MenuItemTax {
    String taxName
    ...
    static belongsTo = [menuItem: MenuItem]
}

在Controller中,当我尝试这个时,它打印为空

MenuItem menuItem = MenuItem.findById(validId)
println(menuItem.menuItemTaxes)

但是,我可以在数据库中看到记录,当我打印menuItem时,它也会被打印出来。什么地方出了错。是因为嵌套的hasMany关系吗?

1 个答案:

答案 0 :(得分:0)

你的关系是正确的。

menuItem可能会在您的数据库中退出,因此,它的打印但可能发生的是属于相应的menuItemTax可能不存在于您的数据库中。

我会查看menuitemtax表,看看有哪些有效的条目,其menu_item_id等于" validId"你传递的是以下陈述

MenuItem menuItem = MenuItem.findById(validId)