Belongs To
belongs to
は、1 対 1 での他 model との関連を、model が他 modelに属する関係として定義します。
アプリケーションに users と profiles があり、ひとつの user にひとつの profile を割り当てることができる場合の例は以下です。
type User struct { |
Foreign Key
belongs to を定義する場合、外部キーは必ず存在しなければならず、デフォルトの外部キーは所有側の型名と主キーを連結したものになります。
上述の例では、User
に属するモデルを定義する場合、外部キーは UserID
にします。
GORM は外部キーをカスタマイズする手段を提供しています:
type User struct { |
Association ForeignKey
Belongs to を定義する場合、GORMはデフォルトで親モデルの主キーを外部キーとして使用します。 上記の例ではUser
のID
になります。
ProfileをUserに定義した場合、GORMではUserのID
をProfileのUserID
に保存します。
association_foreignkey
タグを用いて変更することもできます。
type User struct { |
Working with Belongs To
belongs to
の関連はRelated
を使用して取得できます。
db.Model(&user).Related(&profile) |
さらに詳しい使い方については Association Mode を参照してください。