ember-data:加载hasMany关系中的记录

ember-data: loading records in hasMany relationship

我正在尝试编写允许登录用户将产品添加到 "saved item" 列表的功能。型号是:

//saveditem.js model
export default DS.Model.extend({
    user: belongsTo('user'),
    product: belongsTo('product', { async: true }),
    dateAdded: attr('string')
});

在显示已保存项目的saveditems路由上,model()钩子是:

model() {
    return this.get("store").findAll('saveditem');
}

api 正在返回仅包含 ID 的记录:

{
    "dateAdded": "Mon, 11 Dec 2017 20:59:10 GMT",
    "id": 4458,
    "product": 4458,
    "user": "me"
},
{
    "dateAdded": "Sun, 10 Dec 2017 10:26:02 GMT",
    "id": 3657,
    "product": 3657,
    "user": "me"
}
...

如何使用 ID 获取 hasMany 关系来加载实际产品?

我想通了(由 arne.b 的问题提示)。设置正确,但我调用项目的方式不正确。

我在模板中这样做:

{{#each model as |result|}}
    <div>
    {{result.productName}}
    </div>
{{/each}}

它打印了空的 div,因为它循环遍历了我的 saveditem 记录,但关系没有解决,因为我没有调用产品对象本身。正确方法:

{{#each model as |result|}}
    <div>
    {{result.product.productName}}
    </div>
{{/each}}

我还需要在模型上设置async: true

export default DS.Model.extend({

    user: belongsTo('user'),
    product: belongsTo('product', { async: true }),
    dateAdded: attr('string')

});