我很難在餘燼數據中保存一對多的關係。我有這樣的關係:Ember數據保存了一段關係
App.ParameterSet = DS.Model
name: DS.attr("string")
regions: DS.hasMany("App.Region")
App.Region = DS.Model
name: DS.attr("string")
如果我做這樣的事情:
parameterSet = App.ParameterSet.find(5)
@transaction = @get("store").transaction()
@transaction.add(parameterSet)
region1 = App.Region.find(10)
region2 = App.Region.find(11)
parameterSet.set("name", "foo")
parameterSet.get("regions").pushObject(region)
@transaction.commit()
然後我希望看到與有效載荷的PUT請求是這樣的:
api/ParameterSets/5
{parameterSet: {name: "foo", regionIds:[10, 11]}}
但我卻得到了這個:
{parameterSet: {name: "foo"}}
我不在乎從孩子到父母的關係,但是如果我將parameterSet: DS.belongsTo("App.ParameterSet")
添加到App.Region模型中,那麼我會得到2個PUT請求到這兩個新關係的區域網址,這實際上並不是我想要的。
我想這是一個多對多的關係真的,我不確定是否支持,但有關如何實現我所描述的任何想法?謝謝
大,感謝幫助了很多 – Charlie 2013-03-01 15:55:15
這是非常有幫助,謝謝!我認爲這是一個非常短視的假設燼數據製作! – KOGI 2013-03-05 19:21:53
這個「優化」的推理是什麼?我可以看到它在加載過程中是一種優化,但它在保存期間如何提供幫助?如果我想向父對象添加100個子對象,那麼我必須將父ID添加到每個子對象,並單獨保存每個子對象(100個單獨的POST/PUT請求),而I *可以*只是將所有100個ID添加到父項並完成一個POST/PUT並完成。 – KOGI 2013-03-06 16:17:23