多表操作

本文详细介绍了数据库中多对一和多对多关系的处理。在多对一关系中,重点讲述了如何进行查询、插入、更新和删除操作,特别是在查询时使用RelatedSel()函数。而在多对多关系中,探讨了查询、插入和删除的方法,特别是Filter函数在多对多查询时的用法,如结构体字段名.结构体名.结构体字段名的指定方式。
摘要由CSDN通过智能技术生成
表与表是多对一关系:
查询

从表查询:表与表是多对一关系时,外键所在表查询要使用RelatedSel()函数

o.QueryTable("post").Filter("User", 1).RelatedSel("user").All(&posts)

主表查询

o.QueryTable("user").Filter("Post__Title", "The Title").Limit(1).One(&user)

多对一查询时,Filter函数第一个参数:结构体字段名,从表结构体字段名

插入
//获取一个类型对象,并插入到文章中
var articleType models.ArticleType
articleType.TypeName = typeName
o.Read(&articleType,"TypeName")
//给从表的外键赋值
article.ArticleType = &articleType
//插入数据
_,err = o.Insert(&article)
更新
var article models.Article
//先查询要更新的文章是否存在
article.Id = id
//必须查询
o.Read(&article)
//更新   需要先赋新值   beego中的ORM如果需要更新,更新的对象Id必须有值
article.Title = articleName
article.Content = content
art
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值