우리는 다음과 같은 부분 ER 다이어그램을 가지고 있다고 가정하십시오 attachments
표는 이후 메시지에 사용됩니다CakePHP에서 Message blongsTo Attachment와 같은 "semantically reversed"연관을 사용해도 괜찮습니까?
공지 사항 '제출'과제 '강의'첨부 파일.
문제는 attachments
과 messages
, submissions
및 assignments
사이의 3 대 일대일 관계입니다. Message
에 외래 키가 포함되어 있기 때문에 (다른 두 관계에도 똑같은 내용이 적용됩니다.) CakePHP의 규칙에 따르면 Message belongsTo Attachment
(및 Attachment hasOne Message
)입니다. 물론, Message hasOne Attachment
(그리고 그것은 Attachment belongsTo Message
)이라고 말하는 것이 더 합리적입니다. messages
및 attachments
만있는 경우 외래 키를 attachments
으로 이동하여 "제대로 방향 설정"의 관계를 쉽게 유지할 수 있습니다.
는 그러나 문제는 다시 messages
, submissions
, assignments
및 lectures
이 같은 attachments
테이블과의 관계를 가지고있다. 의미가 올바른 관계를 얻는 한 가지 방법은 MessageAttachment
, SubmissionAttachment
, AssignmentAttachment
및 LectureAttachment
의 4 가지 Attachment
모델을 사용하는 것입니다.
우리는 특정 메시지, 제출, 또는 할당의 첨부 파일을 검색에만 관심이있는 가정, 는 이들 의미 반전 연결을 사용하는 OK, 또는 우리가 제대로 다른 4로 Attachment
를 분리하여 그 방향을 한다 위에서 언급 한 모델?