所以我有这些模型
App.Order= DS.Model.extend({
items: DS.hasMany('item')
});
App.item=DS.Model.extend({
order: DS.belongsTo('order')
});
我的问题是,我应该把财产数量放在哪里?我确定以下代码不正确,因为两个订单可能有不同数量的类似项目,但我无法想到任何可能的解决方案。
App.Order= DS.Model.extend({
items: DS.hasMany('item')
});
App.item=DS.Model.extend({
order: DS.belongsTo('order'),
quantity: DS.attr('number')
});
感谢您的帮助。
答案 0 :(得分:1)
从关系的角度来看,你的案例实际上是多对多的":
在您的数据库中,数量可能属于" Order_Item"等表格。您将在其中找到订单ID和商品ID(复合唯一约束)。
由于您需要将数据(数量至少)存在于该表中,您可能希望使用表示它的Ember模型(让我们说OrderItem或OrderRow)。由于您的表将拥有自己的主键,因此您可以使用经典"一对多"设计您的休息API。关系:
/orders
和/orders/:id
/items
和/items/:id
/order_items?order_id=:order_id
和/order_items/:id
你的模特如:
答案 1 :(得分:0)
Pedrocheckos的回答是正确的。这真的很有帮助。
我带它与我的后端团队讨论,我们同意有两个单独的项目模型。而不是有多对多的关系模型。
1项目模型仅用于显示目的,没有数量属性
和其他项目模型是订单模型的属性,它将具有数量。