【GORM】模型关系-HasMany关系

本文详细介绍了如何在Gorm ORM中使用HasMany关系,通过User和CreditCard模型实例展示了一对多关联的建立、操作方法及示例。
一、概述
  • HasMany与另一个模型建立一对多的连接,拥有者可以拥有零个或多个关联模型。
二、模型建立

​ 依旧以UserCreditCard为例,一个User可以拥有多张CreditCardHasMany关系模型的实现主要在拥有者模型中定义。

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值