Association에서 belongs_to와 has_one의 차이가 무엇인가요?
조회수 1297회
안녕하세요 루비온 레일즈를 공부하고 있는 학생입니다. 지금 ruby on rails에 대한 공부를 guides.rubyonrails.org 사이트에서 하고 있는데요
여기서 association쪽을 보고 있는데 belongs_to 가 있고 has_one이 있는데 이 두개의 차이가 무엇인가요?
제가 예상하기로는
A belongs_to B
C has_on D
위와 같이 있을 때
A는 B에 반드시 속해야하고,
C는 D를 가지거나 가지지 않을 수 있다. 로 이해했는데 맞는지 몰라서 이렇게 질문 올려봅니다!
------------------------------------- 좀더 공부 후 추가 합니다 ----------------
belongs_to와 has_one의 의미를 생각해서 추가해야하나 보군요 학생과 학번이 있다고 하면,
- 학생은 하나의 학번을 가진다. (학생 has_one 학번 )
- 학번은 하나의 학생에 속한다. (학번 belongs_to 학생 )
이런식으로 접근한다고 이번에는 이해를 했는데... 맞을런지 모르겠네요... ㅎ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
맞게 이해하셨습니다.
추가로 foreign key가 속해있는걸로 결정하실수 있습니다.
"학생 has_one 학번" 이면 학번 테이블이 학생_id 칼럼을 가지고있습니다.(학생의 foreign key)
"학번 belongs_to 학생" 이면 학번 테이블이 학생_id 칼럼을 가지고 있습니다( 학생의 foreign key)
이와 같이 has, belongs_to 관계는 누가 어떤 테이블의 foreign key를 가지고 있는지에 따라 결정하실 수 있습니다~!
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력