标签: gorm

5 篇文章

gorm查询多对多关联的数量
下面给出两种常见的做法,关键在于如何统计某个标签被多少篇文章引用:方法一:使用 Join Table 直接查询统计假设你的多对多关系存储在 article_tags 表中,并且标签模型(Tag)类似如下:type Tag struct { ID uint `gorm:"primaryKey"` Name string // 其他…
gorm实现多对多关联
假设想实现的是文章(Article)和标签(Tag)之间的多对多关系。在 GORM 中,多对多关联可以通过在关联字段上使用 gorm:"many2many:<join_table_name>" 标记来实现。下面是一个正确的示例:// Tag 表示标签,每个标签可以关联多篇文章。 type Tag struct { g…
gorm多对多关联去重插入
目前的问题是:在插入文章的同时直接传入包含多个 Tag 的切片,由于 GORM 在保存多对多关联时默认认为每个 Tag 都是新的记录,导致每次插入文章时相同的 Tag 都会重新创建。为了解决这个问题,我们需要确保在保存文章之前,先对每个 Tag 去重,也就是先查询数据库中是否已经存在该 Tag,如果存在则使用已有记录,否则再创建新记录。下面给出一种…
gorm多对多关联删除
直接调用 db.Delete(&article) 仅会删除 articles 表中的记录,而不会自动清除多对多关联关系(即 article_tags 连接表中的记录)。在 GORM 中,对于多对多关联,如果需要同时删除关联关系,需要使用 Association Mode 来额外处理,例如:// 删除文章所有 Tag 关联(删除连接表中的记录…
gorm的使用
gorm golang对象关系映射框架安装go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite连接数据库sqlitedb, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{}) if err != nil …