私はProduct
という種類の一連のカテゴリを持っています。そのうち3つしかないので、それぞれのテーブルを作成することができます。 SubProductA
、SubProductB
、SubProductC
と呼ぶことができます。それらは親のProduct
テーブルにそれらを格納することが混乱を招くほど十分に区別されます。GORMで1対1の関係を行うには?
当然のことながら、プライマリキーは、これらのそれぞれの製品にリンクする外部キーにすることができます。しかし、GORMはこのようなフィールドを事前にロードすることはできないようです。ここで私はこれらのいずれかの(一例として)持っているものです:私は
db.Where("product_id=?", p.ID).Preload("Product").First(&subProduct).Error
のようなクエリを実行すると
type SubProductA struct {
ProductID uint64 `gorm:"primary_key;ForeignKey:ProductID"`
Product Product
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
}
しかし、結果は次のとおりです。
Can't preload field Product for models.SubProductA
。
私はプライマリキーを外部キーとしても正しく識別していないためです。しかし、私はさまざまなものを試してみて、私は同じエラーが発生します。
これを行う方法はありますか?通過する人々のために自分の質問に答えるために