一、概述
HasMany与另一个模型建立一对多的连接,拥有者可以拥有零个或多个关联模型。
二、模型建立
依旧以User和CreditCard为例,一个User可以拥有多张CreditCard。HasMany关系模型的实现主要在拥有者模型中定义。
1. 拥有者模型
-
实现
HasMany模型,拥有者需要拥有以下字段:(1) 外键:默认为被拥有者的主键,在被拥有者模型中定义,在被拥有者模型切片变量中标注。
(2) 引用:默认为拥有者的主键,在拥有者模型中定义,在被拥有者模型切片变量中标注。
(3) 被拥有者模型切片变量;
-
以下是拥有者模型
User的定义:以
CreditCard模型中的UserID作为外键,以ID作为索引(默认)。type User struct { ID uint `gorm:"primary_key"` Name string Password string `gorm:"<-;->:false"` CreditCards []CreditCard `gorm:"foreignKey:UserID;references:ID"` }
2. 被拥有者模型(关联模型)
-
实现
HasMany模型,被拥有者按照正常的逻辑定义,必要时可以添加拥有者模型的外键,如上User模型中使用CreditCard模型中的UserID变量作为外键。 -
与上
User对应的CreditCard模型如下:type CreditCard

本文详细介绍了如何在Gorm ORM中使用HasMany关系,通过User和CreditCard模型实例展示了一对多关联的建立、操作方法及示例。
最低0.47元/天 解锁文章
1306

被折叠的 条评论
为什么被折叠?



