2016-07-27 66 views
0

如果我有一個對象我將如何處理在JSData中保存子對象及其父對象?

DS.defineResource({ 
    name : 'parent', 
    relations : { 
     hasMany : { 
      child : { 
       localField : 'children', 
       foreignKey : 'parentId' 
      } 
     } 
    } 
}) 
DS.bindOne('parent', 1, $scope) 

和我進行了更改,以對孩子parent.children[4].name='joey'的屬性,我怎麼能包括改變作爲save的一部分:

$scope.parent.DSSave(); 

我該怎麼辦那?

回答

0

這在JSData 2.x中不起作用的原因是關係getters是不可枚舉的,因此在記錄序列化併發送到適配器時不會被選中。你不得不手動構造有效載荷發送關係適配器:

const payload = {}; 
Object.keys(parentRecord).forEach((key) => payload[key] = parentRecord[key]); 
payload.childRecords = parentRecord.childRecords; 
DS.update('parent', parentRecord.id, payload) 

在JSData V3它會是這樣的:

store.update('parent', parentRecord.id, { with: ['childRecords'] }) 
相關問題