2015-12-28 29 views
1

我有一個擁有許多路由對象的用戶對象。如何推送到js數據資源中的陣列

我加載它們喜歡:

return User.find(username).then(function(user) { 
    return User.loadRelations(user.username, ['routes']) 
     .then(function(user) { 
      return user; 
     }); 
}); 

我的用戶對象的樣子: this

我希望能夠去user.routes.push(newRoute),然後保存用戶。但我無法推出新路線。

+0

歡迎來到StackOverflow!如果你可以發佈你的代碼,這將是有益的 - 代碼的鏈接有點難以處理。 (您可以縮進4個空格來創建代碼塊。) – jkdev

+0

將其更改爲代碼塊!感謝您的提醒 :) –

回答

1

1)js-data < = 2.x不支持關係的深層保存。您需要向您的資源中添加一個方法,將嵌套的有效負載發送到適配器。

2)另外,默認情況下,關係配置中的localField選項指定的字段將是一個屬性訪問器,用於動態地從商店中提取相關項目。推入屬性訪問器返回的數組沒有任何意義,因爲每次訪問屬性時都是不同的數組。

您可以使用linkRelations: false設置刪除屬性訪問器,但必須手動管理鏈接。在這種情況下,你可以推入數組,但這對上面的1)沒有幫助。