假设我有以下模型:

// customer.js
DS.Model.extend({
  products: DS.hasMany('product')
});

// product.js
DS.Model.extend({
 customer: DS.belongsTo('customer')
});

我需要创建一个客户,其中包含一个ID列表(尚未从后端加载的产品),类似于以下内容:
this.get('store').createRecord('customer', {products: [1, 2, 3]});

但这失败了,因为商店期望产品是DS.Model的数组:



如何创建具有ID提供的关联的记录?

最佳答案



由于错误提示您需要传递DS.Model实例,但只能使用createRecord创建实例,因此您可能需要执行以下操作,

    let product1 = this.store.createRecord('product',{customer:1});
    let product2 = this.store.createRecord('product',{customer:2});
    return this.get('store').createRecord('customer', {products:[product1,product2]});

关于ember.js - 如何使用store.createRecord()为hasMany关系传递ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42964727/

10-09 03:30