映射为多对多关联

发布于 2025-01-16 01:44:05 字数 496 浏览 1 评论 0原文

在我当前想要与 gorm 一起使用的代码中,有许多与 map[unit]Entity 而不是 []Entity 一起使用的多对多关联。 这是一个简单的例子:

type Entity1 struct {
    gorm.Model

    Entities2 Entities2
}

type Entities2 map[uint]Entity2

type Entity2 struct {
    gorm.Model
}

我怎样才能让 gorm 处理这种情况? 在我看来,gorm 必须理解两件事:

  1. 当从数据库读取 Entities2 时,它必须不将其放入切片中,而是放入映射中,其中键只是 Entity2 的主键。

  2. 将 Entities2 写入数据库时​​,它必须只获取地图值的一部分并将它们保存在数据库中。

有可能吗?

谢谢。

In my current code that I want to enable to work with gorm there are many many2many associations used with map[unit]Entity instead of []Entity.
Here's a simple example:

type Entity1 struct {
    gorm.Model

    Entities2 Entities2
}

type Entities2 map[uint]Entity2

type Entity2 struct {
    gorm.Model
}

How can I make gorm handle this case?
In my mind gorm has to understand two things:

  1. When reading Entities2 from a db it must put the not into a slice but to a map where a key is just an Entity2's primary key.

  2. When writing Entities2 to a db it must just take a slice of map's values and save them in a db.

Is it possible at all?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文