请帮助我。我有两个模型,分别是foo
和bar
模型。我试图使用/foos
POST
在/foos
端点上创建一条记录。然而职位POST
/foos
的要求为relationships.bar.data.id=1,2,3
。请参阅下面的/components/foo-bar.js
我的代码。我的问题是如何创建foo记录并向其关系声明这些ID?
/components/foo-bar.js
foo.setProperties({
bar: [1213,1231]
});
/models/foo.js
import DS from 'ember-data';
export default DS.Model.extend({
bar: DS.belongsTo('bar', { async: true }),
});
/models/bar.js
import DS from 'ember-data';
export default DS.Model.extend({
foos: DS.hasMany('foo', { async: true }),
});
您的Foo
模型使用belongsTo
,这表明它可以与单个bar
相关。您可以保存该栏,例如
/components/foo-bar.js
let bar = this.store.createRecord('bar', {
id: 1213
});
foo.setProperties({
bar: bar
});
如果您希望能够将一个foo
设置为与许多bar
型号相关,则可以使用hasMany
并将其设置为:
/components/foo-bar.js
let bar1 = this.store.createRecord('bar', {
id: 1213
});
let bar2 = this.store.createRecord('bar', {
id: 3456
});
foo.setProperties({
bars: [bar1, bar2]
});
无论哪种情况,您都应将实际型号bar
设置为foo
,而不仅仅是ID。