[gorm]belong to와 has one의 차이점은 무엇일까?
belong to란
Select 하고자 하는 테이블이 참조(Association)하고자 하는 테이블의 ID를 가지고 있는 경우.
User | Company |
ID int | ID int |
Name string | Name string |
CompanyID int | |
Company Company |
has one이란
Select 하고자 하는 테이블이 참조(Association)하고자 하는 테이블의 ID를 가지고 있지 않은 경우.
User | Company |
ID int | ID int |
Name string | Name string |
CompanyID int | |
Company Compnay |
즉, belong to와 has one의 차이는 어떤 테이블을 셀렉트 대상으로 잡느냐에 따라 다르다.
has Many와 Many to Many는 무엇일까?
has Many란?
Select 하고자 하는 테이블이 참조(Association)하고자 하는 테이블의 ID의 배열을 가지고 있는 경우.
User | CreditCard |
ID int | ID int |
CreditCards []CreditCard | Number string |
UserID uint |
Many to Many란?
Select 하고자 하는 테이블이 참조(Association)하고자 하는 테이블의 ID의 배열을 가지고 있고 참조 테이블 역시 Select 하고자하는 테이블을 배열로 가지고 있는 경우.
User | Language |
ID int | ID int |
Language []Language | Number string |
Users []*User |
gorm 태그
`gorm:"many2many:user_languages;"`
를 사용하여 매핑할 수 있습니다.