【问题标题】:Access Relationship Table in GrailsGrails中的访问关系表
【发布时间】:2010-03-20 03:28:07
【问题描述】:

我有以下域类:

class Posts{
      String Name
      String Country
      static hasMany = [tags:Tags]

        static constraints = {
        }
    }


class Tags{

    String Name
    static belongsTo = Posts
    static hasMany = [posts:Posts]
    static constraints = {
    }
  String toString()
  {
      "${TypeName}"

  }
}

Grails 在数据库中创建另一个表,即 Posts_Tags。
我的要求是:

例如1 个帖子有 3 个标签。 所以,在 Posts_Tags 表中有 3 行。

如何在我的代码中直接访问表 Posts_Tags,以便我可以操作数据或向其中添加更多字段。

【问题讨论】:

    标签: grails groovy grails-orm


    【解决方案1】:

    如果您想直接访问连接表 (Posts_Tags),或向其添加属性,则必须将其定义为单独的 PostTag 域类。然后,您将PostTag 之间的多对多关系拆分为2 个一对多关系(一个从PostPostTag,一个从TagPostTag)。

    这是一个comprehensive example,介绍如何执行映射并将属性添加到连接表 - 在此示例中,Membership 是连接表。

    【讨论】:

    • 综合示例链接即使在注册后仍显示“您未获得授权”
    【解决方案2】:

    使用普通的 groovy sql API。有关如何获取 groovy SQL 对象并执行 sql 查询的示例,请参阅this

    【讨论】:

    • 这并没有回答他关于如何向连接表添加额外字段的问题的第二部分
    • 是的,如果您有一个 groovy SQL 对象,您可以使用 alter table 语句、插入等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    相关资源
    最近更新 更多