2011-03-24 5 views
1

나는 파일 업로드 테이블 (필드 : id, name, size, type)을 사용하고 파일 업로드 테이블 (필드 : upload_id)의 레코드 하나를 가리키는 외래 키가있는 일련의 다른 테이블 (노트, 파일)을 사용하여 게임을하고 있습니다. 각 일련의 표 (예 : 메모, 파일)의 모델에는 파일 업로드 표를 가리키는 belongsTo 관계가 포함됩니다.각 'belongsTo` 파일 업로드와 여러 파일 업로드가 여러 개의 테이블을 가질 수 있습니까?

즉, 파일 업로드 테이블에 외래 키가 없다 (여러 테이블이 가리키고 있음). 따라서 다른 모든 테이블 (예 : note_id, filing_id 등)에 필드가 없으면 외부 ID 필드가 작동하지 않습니다. . 이 모델은 어떤 관계도 언급하지 않을 것이다.

다른 방법으로해야할까요? 나는 더 효율적인 것을 생각할 수 없다.

답변

2

기본적으로 비즈니스 로직에 따라 다릅니다. 파일이

을 작성 다른 테이블 (노트 충전재 등) 다음

업로드 hasMany의 참고 업로드 hasMany의 사이에 분포되어 있지만 레코드 당 하나의 파일이있는 경우이 경우 경우

.

메모 또는 충전하면 HABTM의 relaion로 이동하거나 할 필요가 다음 하나 개 이상의 파일이 때 케이스가있는 경우 :

Table notes: 
id, name, desc ... 

Table uploads: 
id, name, size, type 

Table notes_uploads: 
id, note_id, upload_id 

Table fillings_uploads: 
id, filling_id, upload_id 

그래서 당신이 파일이 각 엔티티에 많은 관계에 대한 많은 정의합니다 그 안에.

두 번째 방법은 더 유연한 방법이라고 생각하지만 실제로 요구 사항에 따라 다릅니다.

관련 문제