2012-10-17 4 views
-1

일대일 관계를 모델링하는 가장 좋은 방법은 무엇입니까? Ext JS 모델 : 일대일 연결

Ext.define('MyApp.model.Post', { 
    extend : 'Ext.data.Model', 
    fields : [ 'id', { 
     name : 'author', 
     type : 'MyApp.model.Author' 
    }, { 
     name : 'content', 
     type : 'string' 
    } ], 
    hasMany : { 
     model : 'MyApp.model.Comment', 
     name : 'comments' 
    } 
}); 

는 지금까지 내가 본대로, author는이 기록으로 사용할 수 없습니다 의미 내선 JS 모델 객체 리터럴 속성으로 처리하지 될 것이다 : 이것은 내가 원하는 것입니다. 또한 getAuthor()을 사용할 수 없습니다.

대안은 다음과 같습니다 저자 정보를 얻기

Ext.define('MyApp.model.Post', { 
    extend : 'Ext.data.Model', 
    fields : [ 'id', 'authorID', { 
     name : 'content', 
     type : 'string' 
    } ], 
    hasMany : { 
     model : 'MyApp.model.Comment', 
     name : 'comments' 
    } 
}); 

지금 어딘가 다른로드 호출을 필요로한다.

두 방법의 장단점은 무엇이며 어떤 장단점이 가장 좋으며 무엇이 가장 좋은가? 첫 번째 버전을 사용하고 저자 이름과 같은 중요한 정보를 저장하고 전체 작성자 객체가 레코드로 사용될 경우에만 추가로드 호출을 작성하는 것이 유리합니까?

답변