1

我有一个包含许多路由对象的用户对象。

我像这样加载它们:

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

我的用户对象看起来像: 这个

我希望能够去 user.routes.push(newRoute) 然后保存用户。但我无法推出新路线。

4

1 回答 1

1

1) js-data <= 2.x 不支持关系的深度保存。您需要向您的资源添加一个方法,将嵌套的有效负载发送到适配器。

2) 此外,默认情况下,localField关系配置中的选项指定的字段将是一个属性访问器,可以从商店中动态拉取相关项目。推入属性访问器返回的数组没有任何意义,因为每次访问属性时它都是不同的数组。

您可以使用设置删除属性访问器linkRelations: false,但您必须手动管理链接。在那种情况下,您可以推送到阵列上,但这对上面的 1) 没有帮助。

于 2015-12-28T03:38:44.640 回答