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 を参照してください。