go - 带有两个外键的中间模型 : file structure?

标签 go go-gorm

目标是创建一个中间模型 (user_product),它有两个外键:userproduct

我们能否通过外部文件(以某种方式)中的用户和产品结构来实现这一点,或者我们必须将它们与 UserProduct 放在同一个文件中,就像在文档中一样?

此时,将它们放在外部并在 UserProduct 中导入它们,当然会抛出导入循环错误

结构:

app/
   models/
      product.go
      user.go
      user_product.go

问题是,如果我使用 import "github.com/somehow/somehow/models"user_product 中导入 product.go,显然它还导入了 user_product 导入 models 等等。

最佳答案

一个文件夹中的所有文件都属于同一个包(文件顶部的包名必须相同!)。

您不需要导入属于同一个包(同一个文件夹)的其他文件。

只需删除导入,您仍然可以访问 user_product 中的产品,反之亦然。

关于go - 带有两个外键的中间模型 : file structure?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45053785/

相关文章:

go - 在这种情况下,如何使用 go 将整数更改为字符串?

sql-server - 使用GORM连接到SQLServer

go - 将 .gz 文件添加到 tar.gz 文件,但在添加之前解码 gz。输出文件被剪切(损坏)

google-app-engine - 实体在放入 Google App Engine Datastore 后不能立即使用

google-app-engine - 如何在AppEngine中使用goroutine?

go - 如何理解这个错误? “unsupported destination, should be slice or struct”

mysql - 如何在Gorm V2上设置SQL连接配置

go - 如何将 id_ed25519-cert.pub 合并到 go ssh 客户端中?

go - 将 <tag value ="val"/> 解码为 Go 中的标记字符串

postgresql - 我正在尝试通过电子邮件查找记录