Gorm文档中,“关联”的章节下,有“重写引用”的介绍。但是什么是references,要怎么使用,一直没有搞明白,所以在此专门记录一下。
“重写外键”很好理解,比如类别表category有一个主键id,文章表有一个category_id的外键对应类别表的id字段,这个时候是不需要重写外键的。但是如果文章表的外键不是category_id,而是cid的话,就要使用gorm:"foreignKey:Cid"
的方式重写外键,才能把文章表和类别表进行关联。不管是category_id还是cid,文章表默认关联的是类别表的id字段,也就是默认关联主键。
如果想让文章表的cid不关联类别表的id字段,而是关联到类别表的other_id字段,要怎么弄呢?这就要使用“重写引用”了。
具体写法是如下:
1 | type Article struct { |