2014-04-07 7 views
0

에 belongsTo를 사용 방법 :나는이 모델이 엠버

Gmcontrolpanel.Offer = DS.Model.extend({ 
    idShop: DS.attr('number'), 
    name: DS.attr('string'), 
    duration: DS.attr('string'), 
    optionDuration: DS.attr('number'), 

    products: DS.hasMany('product', {embedded: 'always'}) 
}); 

Gmcontrolpanel.Product = DS.Model.extend({ 
    name: DS.attr('string'), 
    description: DS.attr('string'), 

    offer: DS.belongsTo('offer') 
}); 

지금은 hasMany의 작동 방식을 이해 한을; 그러나 belongsTo를 위해서? Ember-data가 부모 제안을받는 방법을 알 수 있도록 제품에 대한 서버 응답이되어야하는 방법은 무엇입니까?

답변

1

귀하의 요청에 따라 달라질 수 있습니다. 당신의 Offer 요청에

, 당신은 관련 제품에 대한 ID 목록을 포함 할 수 있습니다 그리고 당신은이 같은 Products를위한 반대를하고 싶은 것 :

{ 
    "offers": [ 
     { 
      'id':1, 
      'idShip':1, 
      'name':'Offer 1', 
      'duration':'3:00', 
      'products':[1,2,3,4,5] 
     } 
    ] 
} 

{ 
     "products": [ 
      { 
       'id':1, 
       'name':'Product 1', 
       'offer':1 
      } 
     ] 
    } 

당신은 제거 할 수 있습니다 hasMany{embedded: 'always'} Ember는 각 ID가 포함 된 요청을 자동으로 시작합니다. 또는 다음과 같이 하나의 요청으로 모든 요청을 포함하여 요청에 제품 또는 제안을 사이드로드 할 수 있습니다.

{ 
    "offers": [ 
     { 
      'id':1, 
      'idShip':1, 
      'name':'Offer 1', 
      'duration':'3:00', 
      'products':[1,2,3,4,5] 
     } 
    ], 
    "products": [ 
     { 
      'id':1, 
      'name':'Product 1', 
      'offer':1 
     } 
    ] 
} 
+0

이 설명에 감사드립니다. –