当前位置: 首页 > news >正文

go gorm belong to也就是多对一的情况

多位员工属于同一个公司,一个公司包含多个人,关系放在多的那一部分
belongs to 会与另一个模型建立了一对一的连接。 这种模型的每一个实例都“属于”另一个模型的一个实例。

例如,您的应用包含 user 和 company,并且每个 user 能且只能被分配给一个 company。下面的类型就表示这种关系。 注意,在 User 对象中,有一个和 Company 一样的 CompanyID。 默认情况下, CompanyID 被隐含地用来在 User 和 Company 之间创建一个外键关系, 因此必须包含在 User 结构体中才能填充 Company 内部结构体。

  1. 声明model
type Company struct {ID   intName stringCode string
}type User struct {gorm.ModelName         stringCompanyRefer intCompany      Company `gorm:"foreignKey:CompanyRefer"`// 使用 CompanyRefer 作为外键
}
  1. 创建表
package mysqltestimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/clause"
)var db *gorm.DBfunc Initdb() {dsn := "ellis:ellis@tcp(192.168.214.134:3306)/go_db?charset=utf8mb4&parseTime=True&loc=Local"var err errordb, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})if err != nil {panic(err)}
}func Create(value interface{}) {d := db.Create(value)fmt.Printf("d.RowsAffected: %v\n", d.RowsAffected)
}func InitTable() {db.AutoMigrate(&Company{}, &User{})
}
  1. 创建记录
package mainimport ("ellis/mysqltest"
)func main() {mysqltest.Initdb()// // 创建数据库mysqltest.InitTable()mysqltest.Create(&mysqltest.User{Company: mysqltest.Company{ID: 1, Code: "haha"}, Name: "ellis"})
}

https://gorm.io/zh_CN/docs/belongs_to.html

http://www.lryc.cn/news/136066.html

相关文章:

  • 亚马逊云科技 云技能孵化营——机器学习心得
  • Django实现音乐网站 ⒀
  • PySide6学习笔记--基础环境的安装配置
  • 算法通关村第九关——中序遍历与搜索树
  • 测试框架pytest教程(5)运行失败用例-rerun failed tests
  • 【车载开发系列】UDS当中的时间参数
  • PDF中的表格怎么转换为Excel?这两个工具一定得收藏!
  • ssh scp sshpass
  • leetcode 1996. 游戏中弱角色的数量(排序的魅力)
  • 从头到尾说一次 Spring 事务管理(器) | 京东云技术团队
  • php 系列题目,包含查看后端源代码
  • 令牌桶C语言代码实现
  • Mybatis 建立依赖失败:报错Dependency ‘mysql:mysql-connector-java:8.0.28‘ not found
  • 多线程+隧道代理:提升爬虫速度
  • 使用@Configuration和@Bean给spring容器中注入组件
  • 信号波形解读
  • Centos 解决 XXX不在 sudoers 文件中。此事将被报告。的错误
  • 雪花算法和uuid的区别
  • docker之DockerFile与网络
  • 知识蒸馏开山之作(部分解读)—Distilling the Knowledge in a Neural Network
  • centos 7 安装 docker-compose curl 设置代理
  • 3D姿态相关的损失函数
  • ChatGPT取代人类仍然是空想?有没有一种可能是AI在迷惑人类
  • 基于swing的旅游管理系统java jsp旅行团信息mysql源代码
  • Windows wsl2支持systemd
  • NLP - 如何解决ModuleNotFoundError: No module named ‘jieba‘的问题
  • Windows10上VS2022单步调试FFmpeg 4.2源码
  • 【tkinter 专栏】菜单组件
  • 【LeetCode-经典面试150题-day10】
  • Transformer在医学影像中的应用综述-分类