2013-06-27 3 views
-1

폴더 테이블과 관련된 파일 테이블의 외래 키가있는 폴더 테이블과 파일 테이블이 포함 된 MySQL 데이터베이스가 있습니다. 폴더 컬렉션의 경우 컬렉션에 폴더 모델과 파일 모델을 채워야합니다. diff 모델 ID 충돌 때문에 한 모델은 다른 모델을 버립니다. 제 질문은, 어떻게이 일을 끝내야합니까?내 백본 컬렉션의 응답/모델 간의 ID 충돌

+2

모델 코드 코드 – YD1m

답변

1

이 경우 ID 충돌을 피하려면 백본에서 id로 사용할 특성을 변경해야 할 수 있습니다. 표준은 "id"속성이지만 idAttribute 속성을 변경하여이를 수정할 수 있습니다. 여기

는 당신이 그것을 할 방법은 다음과 같습니다 UNIQUEID가 충돌하지 않습니다 결코 확실히 알고있는 속성입니다

idAttribute: 'uniqueId', 

.

고유 값이없는 경우 값을 만들어야합니다. 이는 파스 함수 (백엔드에서 데이터를받을 때 호출 됨)를 재정 의하여 수행 할 수 있습니다.

parse:function(data){ 
    if(_.isArray(data){ 
    _.each(data, function(record){ 
     record['uniqueId'] = record['id'] + ':' + ([check if record is a file] ? record['folderId'] : ''); 
    } 
    } 
    return data; 
} 

이제 모든 폴더가 UniqueID 자신의 ID와 동일합니다 및 파일이가 UniqueID 파일 ID와 폴더 ID가 결합 될 것입니다 : 이것은 당신이 복합 ID를 만드는 방법이다.

+0

을 표시하면 테이블에 여분의 열이 생깁니 까? – Remade

+0

필요 없음 @Remi Adeoye. 구문 분석 함수 (백 엔드에서 응답을받을 때 호출 됨)를 무시하고 모델 당 하나의 고유 한 값을 갖도록 응답을 수정할 수 있습니다. 예를 들어 복합 ID를 만들 수 있습니다. 위의 답변에서 편집하십시오. – twibakish

관련 문제