2014-11-28 1 views
0

레일이있는 단일 모델에서 habtm에 문제가 있습니다.레일에서 단일 모델로 habtm 달성

예 : 두 개의 역할 "학생"과 "교사"가있는 사용자 모델이 있다고 가정 해 보겠습니다. 사용자 모델은 두 가지 역할에 공통적으로 사용됩니다. 이제

각 학생은 각 교사가 많은 학생들

에서이 표기 레일, 선생님이이 달성 할 수있는 방법 학생 사이 HABTM 자신의해야에 연관 될 수

많은 교사

에 연관 될 수 있습니다 단일 테이블.

덕분에, Aashish

답변

1

는 그것은 하나의 테이블로 수행 할 수 없습니다. 다 - 대 - 다 관계에서 어떤 관계가 있더라도 관계를 저장하는 테이블이 항상 필요합니다.

귀하의 경우, 협회가 부모/자식으로 보이는 경우, 하나 대신 두 개의 테이블 만 있으면됩니다.

구현 방법은 데이터베이스 구조와 데이터 구성에 따라 다릅니다. users_users 테이블 (habtm의 일부로)을 작성하고 그에 따라 참조를 구성해야합니다. 사용자 테이블이 STI 용으로도 사용된다면 구성이 약간 변경 될 수 있습니다.

+0

STI는? 너 더 명확 해 줄 수있어? – aashish