Ich versuche, mich mit den Ember-Datenmodellen vertraut zu machen und ein Problem beim Zuweisen einer Objektgruppe mit store.findAll()
zu einer hasMany
Beziehung eines Glutendatenmodells zu bekommen.Zuordnung zu einer hasMany-Beziehung in Ember-Daten
I haben zwei Modelle definiert:
App.Leaf = DS.Model.extend({
text: DS.attr('string'),
branch: DS.belongsTo('App.Branch')
});
App.Branch = DS.Model.extend({
lotsOfLeaves: DS.hasMany('App.Leaf')
});
Wenn ich die Beziehung als Teil createRecord()
App.store.loadMany(App.Leaf,[
{ id: 1, text: "Hello, I'm leaf 1", branch_id: 1 },
{ id: 2, text: "Hello, I'm leaf 2", branch_id: 1 }
]);
var allLeaves = App.store.findAll(App.Leaf);
var oneBranch = App.Branch.createRecord({ id: 1, lotsOfLeaves: allLeaves });
zuweisen dann versagt es (stumm) als oneBranch.get('lotsOfLeaves.length')
0
ist.
Ebenso ist es nicht still, wenn ich die Beziehung nach der Vereinigung zu:
var all = App.store.findAll(App.Leaf);
oneBranch.set('lotsOfLeaves', all);
Ich verstehe, dass ich pushObject()
auf oneBranch.get('lotsOfLeaves')
verwenden können, jedes Blatt einzeln hinzufügen, aber ist, dass der einzige Weg?
Ah, natürlich. Danke @MikeHickman. Obwohl ich hoffte, die Bindung zu nutzen, die Sie bekommen, wenn Sie etwas wie 'var autoupdate = App.store.findAll (...)' verwenden, wurden alle CRUD-Operationen automatisch wiedergegeben. In diesem Fall würde 'oneBranch.get ('lotsOfLeaves')' immer alle 'App.Leaf'-Objekte im System enthalten. Sieht so aus, als müsste ich das manuell verwalten. – EdgifyJP
Auch wäre schön, wenn der Versuch, etwas zu der Assoziation zuzuordnen, mit einer Nachricht irgendeiner Art fehlgeschlagen ist. Aber hoffentlich wird das im Laufe der Zeit verbessert werden. – EdgifyJP