내가 DataMapper 아주 새로운 해요, 나는 다음과 같은 시나리오에 대한 모델을 만들려고 해요 : 나는 사용자 이름 (사용자의 수를 가지고일대일 DataMapper 협회
를, 암호 등), 선수 또는 심판 또는 두 사람이 될 수 있습니다 (그래서 단일 테이블 상속은 옵션이 아닙니다). 기본 모델은 다음과 같습니다
class User
include DataMapper::Resource
property :id, Serial
# Other user properties go here
end
class Player
include DataMapper::Resource
property :id, Serial
# Other player properties go here
# Some kind of association goes here
end
class Referee
include DataMapper::Resource
property :id, Serial
# Other referee properties go here
# Some kind of association goes here
end
DataMapper.finalize
내가 단체의 종류는 선수 및 심판에 추가 할 것을,하지만 확실하지 않다. belongs_to :user
을 사용하면 여러 사용자를 동일한 사용자와 연결할 수 있습니다. 이는 내 맥락에서 이해가되지 않습니다. RDBMS에서 필자가 원하는 것은 Players와 Referees 테이블의 외래 키에 대한 고유 한 제약 조건입니다.
DataMapper 모델에서 어떻게 수행합니까? 유효성 검사에서 직접 점검을 수행해야합니까?
답변 해 주셔서 감사합니다. 그러나이 모델을 사용하여 동일한 사용자와 연결된 여러 플레이어를 만들 수 있습니다. – mwittrock
@mwittrock 알겠습니다. 그것을 방지하기 위해 편집 됨. 이제 "서브 클래스"는 User 외래 키를 기본 키로 사용합니다. – AlexQueue
이것은 DataMapper에서 올바른 1 대 1 연관 관계가있는 것처럼 보입니다. 평판의 도움을 누리십시오 :-) – mwittrock