当前位置: 首页 > 面试题库 >

Grails,如何通过其外键通过记录查找

锺玺
2023-03-14
问题内容

我有两个域,是一对多关系中的一部分。我想知道如何查询孩​​子的父母FK吗?贝娄是父母/孩子的伪代码

上级:

    class AlumProfile    {
String firstName
String lastName
    static hasMany = [alumLanguage  : AlumLanguage]


static mapping = {
    cache true
    id generator: 'assigned'

    columns {
        firstName   type:'text'
        lastName    type:'text'
    }

    //
}
static constraints = {
    firstName   (nullable:true)
    lastName    (nullable:true)
    }

    }

儿童:

 class AlumLanguage {
String name
String level

static belongsTo = [alumProfile:AlumProfile]
static mapping = {
    cache true

    columns {
        name type:'text'
        level type:'text'
    }
}
static constraints = {
    name(nullable:true)
    level(nullable:true)
}
  }

尽管我没有明确创建FK,但是grails会自行创建MySQL数据库。但是,当我想像这样通过FK查询孩子时:

  if(AlumLanguage.findByNameAndAlumProfileId(language.'language'.toString(), 'jIi-hRi4cI')==null){
        //do something
 }

我收到一个错误:找不到类[class mgr.AlumLanguage]的名称[alumProfileId]的属性

关于如何做到这一点的任何建议?

谢谢杰森


问题答案:

尝试使用一个标准:

def c = AlumLanguage.createCriteria()
def languages = c.get {
    eq('name', 'whatever-language')
    alumProfile {
        eq('id', 'jIi-hRi4cI')
    }
}


 类似资料:
  • 我使用Liquibase insert将两行添加到数据库中,并通过外键链接它们,如下所示: 除了表2中外键的值外,两条记录都正确插入。此值保持为空。因此,“computeValue”属性似乎没有正确执行,但我不明白为什么。我希望在Liquibase中有一个解决方案,而不是在普通SQL中,因为Liquibase提供了一种可能性,可以方便地插入clob字段。 表1:ID- 55228390499230

  • 问题内容: 我将Firebase,后端即服务用于我的网站应用程序,并通过AngularJS进行编程。 我想使用数据库查询来获取记录,例如: 我在Firebase服务器中具有电视连续剧数组 JSON CODE : 我现在使用的代码来解决这个问题: 我想在不使用和的情况下解决这个问题。我应该怎么做? 就像这样: 问题答案: 我有一些建议可能会帮助您: 查阅Firebase查询文档。特别, 您可以结合使

  • 我一直在试图找到通过外键从记录中获取所有数据的正确方法。我有一个简单的应用程序,用户可以将书籍添加到他们的“书架”。 这是我的桌子: 使用者 书 书架 BOOKSHELF_BOOKS 在我雄辩的模型中,一个有许多书,而属于,我已经在我的模型中设置了这些书。 用户创建一个“书架”并从图书列表中向其中添加图书。 我现在需要在书架上渲染用户的书籍。 当我使用类似bookshelf::find($id)的

  •  当玩家点选菜单上的「系统 - 返回之前」后,可以返回上一个段落,通过记录就是指定这种自动存储位置的功能。  要使用通过记录功能,需要用到 record 指令、此外还要对 Config.tjs 的 recordHistoryOfStore 进行设定。  「系统 - 返回之前」这一菜单选项默认是不显示的,但是可以在 Config.tjs 中将 goBackMenuItem.visible 设定为 t

  • 问题内容: 我想去日记(系统化)。 到目前为止,我只发现了读取日志记录的python模块(不是我想要的)或像这样工作的模块: 问题答案: python-systemd有一个JournalHandler可与日志框架一起使用。 从文档中:

  • 问题内容: 有一个像这样的json: 如何在不迭代所有json的情况下找到all 的值? PS:可以在json中的任何位置。 如果没有方法可以做到这一点,您能告诉我如何遍历json吗? 问题答案: 我对这个问题的处理方式会有所不同。 由于JSON不允许深度优先搜索,因此将json转换为Python对象,将其提供给XML解码器,然后提取要搜索的Node