1、一对一 : 属于 belongsTo

package main
// belongsTo
type Dog struct { //舔狗gorm.ModelName string}type GirlGod struct { //女神gorm.ModelName string
}func (it *ServiceContext) AutoMigrate() {it.DB.AutoMigrate(&Dog{},&GirlGod{}) //创建这两张表,它们之间没有任何关联
}// ==========================================================================================
// belongsTo
type Dog struct { //舔狗gorm.ModelName stringGirlGodID uintGirlGod GirlGod //舔狗属于女神
}type GirlGod struct { //女神gorm.ModelName string
}func (it *ServiceContext) AutoMigrate() {it.DB.AutoMigrate(&Dog{}) //只创建Dog,因为 Dog belongsTo GirlGod,所以这里会自动创建2张表,但这2张表之间没什么关系
}// ==========================================================================================
// belongsTo
type Dog struct { //舔狗gorm.ModelName stringGirlGodID uintGirlGod GirlGod //舔狗属于女神
}type GirlGod struct { //女神gorm.ModelName string
}func (it *ServiceContext) AutoMigrate() {g := GirlGod{Model:gorm.Model{ID: 1,},Name: "淼淼",}d := Dog{Model:gorm.Model{ID: 1,},Name: "奇奇",GirlGod: g,}it.DB.AutoMigrate(&Dog{}) //只创建Dog,因为 Dog belongsTo GirlGod,所以这里会自动创建2张表,但这2张表之间没什么关系it.DB.Create(&d) // 在 GirlGod{}, Dog{},表中分别创建一条记录 (两个表通过 Dog{} 中的 girl_god_id 字段关联)
}// ==========================================================================================
// has one
type GirlGod struct { //女神gorm.ModelName stringDog  Dog    // 女神拥有舔狗 has one
}type Dog struct { //舔狗gorm.ModelName stringGirlGodID uint //狗链子被女神牵着
}func (it *ServiceContext) AutoMigrate() {d := Dog{Model:gorm.Model{ID: 1,},Name: "奇奇",}g := GirlGod{Model:gorm.Model{ID: 1,},Name: "淼淼",Dog: d,}it.DB.AutoMigrate(&GirlGod{},&Dog{}) //只创建Dog,因为 Dog belongsTo GirlGod,所以这里会自动创建2张表,但这2张表之间没什么关系it.DB.Create(&g) // 在 GirlGod{}, Dog{},表中分别创建一条记录 (两个表通过 Dog{} 中的 girl_god_id 字段关联)
}

gorm中一对一,多对多关系相关推荐

  1. 数据库建表-- 一对多/多对一/一对一/多对多 关系

     转自: https://blog.csdn.net/zhongshan_c/article/details/8210196 数据库建表-- 一对多/多对一/一对一/多对多 关系 关联映射:一对多 ...

  2. 什么是数据库中的多对多关系?

    什么是数据库建模中的多对多关系?如何在数据库中实现这种关系?本文中的示例将回答这些问题. 多对多关系可能是在数据库中显示的最棘手的关系.因此,我在本文中的第一步将是解释它们是什么.然后,我将继续给你几 ...

  3. 数据库设计中,多对多关系使用使用逗号分割关联讨论

    进公司一个月,发现公司很多人喜欢用逗号分割,去存储其它表的主键,做多对多关联,但存在很多乱用现象.这里对这种方式做了下总结. 在传统数据库设计中,多对多关系存储通常都是用一张中间表来简历两张表的关系. ...

  4. ssas对数据仓库_SSAS中的多对多关系简介

    ssas对数据仓库 In this article, I'm going to explain what many-to-many relationships in SSAS are and how ...

  5. mysql表中的多对多关系表_「一对多」关系型数据库中一对多,多对一,多对多关系(详细) - seo实验室...

    一对多 在关系型数据库中,通过外键将表跟表之间联系在了一起. 一个班级有很多学生,外键维护在学生的一方,也就是多的一方.(在做页面设计的时候,需要把两个表连接到一块查询信息) 建立一个student和 ...

  6. Laravel中的多对多关系

    多对对关系 多对多的关系比一对一和一对多关系稍微复杂些. 如: 一个用户可以选择多门课程,一个课程可以被多个用户选择. 用户表和课程表之间就是一个多对多的关系: 一个用户可以拥有多个角色,一个角色可以 ...

  7. laravel中的多对多关系详解

    一种常见的关联关系是多对多,即表A的某条记录通过中间表C与表B的多条记录关联,反之亦然.比如一个用户有多种角色,反之一个角色对应多个用户.为了测试该关联关系,我们沿用官网的用户角色示例: 需要三张数据 ...

  8. java中的多对多关系解析_Java中多对多映射关系(转)

    多对对的映射,可以用学生和课程进行演示.一个学生可以选择多个课程,一个课程又对应了多个学生 定义学生类 class Stu{ private String name; private String n ...

  9. java中的多对多关系解析_Java中多对多映射关系

    多对对的映射,可以用学生和课程进行演示.一个学生可以选择多个课程,一个课程又对应了多个学生 定义学生类 class Stu{ private String name; private String n ...

  10. Flask 数据库多对多关系

    数据库使用关系建立记录之间的联系.其中,一对多关系是最常用的关系类型,它把一个记录和一组相关的记录联系在一起.实现这种关系时,要在"多"这一侧加入一个外键,指向"一&qu ...

最新文章

  1. 工业革命前数千年人口经济_我们已经进行了数千年的编程
  2. Lync 小技巧-46-intranet-共享桌面-internet-网络问题
  3. python语言入门详解-Python unittest详解一(基础入门)
  4. Google Protocol Buffer 的使用和原理
  5. 关于java的JIT知识
  6. Linux下Oracle 12c的卸载
  7. kdj超卖_KDJ指标超卖区域划分及交易含义
  8. Java虚拟机(JVM)面试题大集合
  9. vim 全局替换_高效操作:vim 快速删除空行和注释
  10. 注意Chart control 中ispostback 的使用
  11. 【9.4】socket模拟http请求
  12. 【问题待解决】自定义控件设计界面报错,编译运行正常
  13. 基于Laravel+VueJS实战开发WebAPP
  14. 【Docker】问题汇总
  15. C语言实现函数调用的三种方法
  16. 用Python学《微积分B》(序)
  17. java voip 的sip服务器搭建_SIP协议开源SIP服务器搭建和客户端安装
  18. ITIL 2011服务管理与认证读书笔记一——IT服务管理与ITIL
  19. 2021全国电赛H题回顾
  20. Ubuntu——笔记本插入耳机没有声音的解决方案

热门文章

  1. MongoDB数据库重命名
  2. 从零开始学springboot笔记(一)-Spring boot之Hello Word
  3. ERROR ITMS-4238
  4. php代码访问记录系统,对某PHP发卡系统代码审计记录
  5. 台式电脑接路由器步骤_台式电脑插线步骤图连接路由器(路由器最正确的连接方法)...
  6. ASA Failover
  7. CMS内容管理系统(含小程序,Uni APP) 搭建
  8. swift tabbar 自定义+号 底部34导航栏适配
  9. Bochs、虚拟软盘与BootLoader
  10. 京东直营店和自营店有哪些区别?