[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의 차이는 어떤 테이블을 셀렉트 대상으로 잡느냐에 따라 다르다.
#12150
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;"`
를 사용하여 매핑할 수 있습니다.