I have a User object which has many route objects.
I load them like:
return User.find(username).then(function(user) {
return User.loadRelations(user.username, ['routes'])
.then(function(user) {
return user;
});
});
I want to be able to go user.routes.push(newRoute) and then save the user. But I'm unable to push a new route.
1) js-data <= 2.x does not support deep saving of relations. You would need to add a method to your Resource that sends the nested payload to the adapter.
2) Also, by default, fields specified by the localField
option in relation configurations will be a property accessor that dynamically pulls the related items from the store. It doesn't make any sense to push onto the array returned by the property accessor, because it's a different array every time you access the property.
You can remove the property accessor with the linkRelations: false
setting, but then you have to manage the links manually. In that scenario you can push onto the array, but that doesn't help with 1) above.