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

project 网站开发计划友链交易网

project 网站开发计划,友链交易网,徐州手机网站建设制作,山东手机版建站系统信息一对多的添加有两种情况: 一种是添加用户的时候同时创建文章其次是创建文章关联已经存在的用户。 package mainimport ("gorm.io/driver/mysql""gorm.io/gorm" )// User 用户表 一个用户拥有多篇文章 type User struct {ID int64Name …

一对多的添加有两种情况:

  • 一种是添加用户的时候同时创建文章
  • 其次是创建文章关联已经存在的用户。
package mainimport ("gorm.io/driver/mysql""gorm.io/gorm"
)// User 用户表 一个用户拥有多篇文章
type User struct {ID       int64Name     string    `gorm:"size:6"`Articles []Article //用户拥有的文章列表 has many
}type Article struct {ID     int64  `gorm:"size:4"`Title  string `gorm:"size:16"`UserID int64  //属于  belongs to
}func (*User) TableName() string {return "user"
}func (*Article) TableName() string {return "article"
}func main() {dsn := "root:7PXjAkY!&nlR@tcp(192.168.11.128:3306)/test?charset=utf8mb4&parseTime=True&loc=Local"db, _ := gorm.Open(mysql.Open(dsn), &gorm.Config{})db.Debug().AutoMigrate(&User{}, &Article{})var u Usera1 := Article{Title: "redis",}u = User{Name: "yanzi",Articles: []Article{{Title: "golang",},{Title: "k8s",},a1,},}db.Debug().Create(&u)
}[8.981ms] [rows:3] INSERT INTO `article` (`title`,`user_id`) VALUES ('golang',2),('k8s',2),('redis',2) ON DUPLICATE KEY UPDATE `user_id`=VALUES(`user
_id`)[14.812ms] [rows:1] INSERT INTO `user` (`name`) VALUES ('yanzi')

最后一种就是关联已有用户

	var articles []Articlearticles = []Article{{Title:  "cherry",UserID: 2,},{Title:  "marry",UserID: 2,},}db.Debug().Create(&articles)[11.754ms] [rows:2] INSERT INTO `article` (`title`,`user_id`) VALUES ('cherry',2),('marry',2)

外键添加


	var u Userdb.Debug().Take(&u, 3)var a Articledb.Debug().Take(&a, 7)u.Articles = []Article{a}db.Debug().Save(&u)[1.300ms] [rows:1] SELECT * FROM `user` WHERE `user`.`id` = 3 LIMIT 1[1.629ms] [rows:1] SELECT * FROM `article` WHERE `article`.`id` = 7 LIMIT 1[2.901ms] [rows:2] INSERT INTO `article` (`title`,`user_id`,`id`) VALUES ('marry',3,7) ON DUPLICATE KEY UPDATE `user_id`=VALUES(`user_id`)[6.363ms] [rows:0] UPDATE `user` SET `name`='test' WHERE `id` = 3[0.557ms] [rows:0] INSERT INTO `article` (`title`,`user_id`,`id`) VALUES ('marry',3,7) ON DUPLICATE KEY UPDATE `user_id`=VALUES(`user_id`)[3.713ms] [rows:0] INSERT INTO `user` (`name`,`id`) VALUES ('test',3) ON DUPLICATE KEY UPDATE `name`=VALUES(`name`)mysql> select * from user;
+----+-------+
| id | name  |
+----+-------+
|  1 | lucas |
|  2 | yanzi |
|  3 | test  |
+----+-------+
mysql> select * from article;
+----+--------+---------+
| id | title  | user_id |
+----+--------+---------+
|  1 | golang |       1 |
|  2 | k8s    |       1 |
|  3 | golang |       2 |
|  4 | k8s    |       2 |
|  5 | redis  |       2 |
|  6 | cherry |       2 |
|  7 | marry  |       3 |
+----+--------+---------+

	var u Userdb.Debug().Take(&u, 3)var a Articledb.Debug().Take(&a, 6)db.Debug().Model(&u).Association("Articles").Append(&a)[2.196ms] [rows:2] INSERT INTO `article` (`title`,`user_id`,`id`) VALUES ('cherry',3,6) ON DUPLICATE KEY UPDATE `user_id`=VALUES(`user_id`)

model是声明映射关系的对象类型,通过这个对象类型,找到表名和字段。

	var u Userdb.Debug().Take(&u, 3)var a Articledb.Debug().Take(&a, 5)db.Debug().Model(&u).Association("Articles").Append(&a)[1.409ms] [rows:1] SELECT * FROM `user` WHERE `user`.`id` = 3 LIMIT 1[1.254ms] [rows:1] SELECT * FROM `article` WHERE `article`.`id` = 5 LIMIT 1[2.285ms] [rows:2] INSERT INTO `article` (`title`,`user_id`,`id`) VALUES ('redis',3,5) ON DUPLICATE KEY UPDATE `user_id`=VALUES(`user_id`)

http://www.khdw.cn/news/47480.html

相关文章:

  • 应用制作下载优化设计答案四年级上册语文
  • wordpress一年后续费站长工具seo综合查询全面解析
  • 网站里面的视频功能怎么做培训网站
  • axure做交易网站网页版百度
  • 单位网站建设情况说明软文新闻发布网站
  • flash网站的制作seo优化在线
  • 长沙网站制作多少钱可以访问违规网站的浏览器
  • 手表拍卖网站公众号seo排名优化
  • 广东企业备案 网站建设方案书湖南专业seo公司
  • 毕业设计 网站开发简单吗百度搜索量最大的关键词
  • 协同软件开发郑州seo技术服务顾问
  • 网站怎么做网页乔拓云智能建站平台
  • wordpress 字体插件seo关键词快速排名
  • 哪个网站专题做的好淘宝网官方网站
  • 做网站需要交管理费吗站长统计网站统计
  • 中国建筑业协会seo关键词排名优化
  • 手机做服务器建网站买域名要多少钱一个
  • 做网站花的钱和优化网站有关系吗在线识别图片
  • 做电影下载网站需要什么软件好南京seo整站优化技术
  • 谷歌云 阿里云 做网站做国外网站
  • wordpress页面内容显示more专业排名优化工具
  • wordpress 设置显示中文重庆seo代理
  • 网站页面结构怎么做有利于优化无锡今日头条新闻
  • 浏览器什么网站都能打开的沧州网站运营公司
  • 上海城乡建设学校网站qq营销推广方法和手段
  • 西宁好的网站建设公司株洲seo推广
  • 有谁想做网站 优帮云济南seo优化外包服务
  • 设计网站如何推广免费crm网站不用下载的软件
  • 金属东莞网站建设技术支持seo百度发包工具
  • 射阳做企业网站多少钱百度官方网