我刚开始使用GORM并尝试构建一个"有很多关系"。我试图在Previous.Holdings上添加一个关联(我认为我正确地遵循了docs)但是当我尝试Input XS
时,我看不到任何显示的内容数据库。对我失踪的事情有所了解。
select * from previous
答案 0 :(得分:0)
首先,您应该创建previous
表。您可以通过进行迁移来实现。您可能应该在数据库连接初始化后进行迁移。 e.g。
db.AutoMigrate(&Previous{})
所以,当你使用db.Model(&Previous{})
时,你没有保存任何实体,如果你想与Holdings
实体建立联系,你需要作为Save
或Find
现有{{{}的第一步1}}记录,例如
Previous
之后,您可以像在代码中一样将保留记录附加到previous := &Previous{}
db.Save(previous)
,但更改引用的Model
。所以它看起来像这样
Previous
我不知道它是否用于测试,但是当您对实体进行建模时,您可以使用引用的id而不指定外键,同时您使用h := Holding{
Symbol: "abc",
PurchaseDate: t1,
}
db.Model(previous).Association("Holdings").Append(h)
ID作为ForeignKey,因此Holding
的ID将是您的ID为Previous
。
对我来说,你的模型声明应如下所示(Holding
将自动签名为Previous的外键)
PreviousID