【发布时间】:2015-08-10 15:19:24
【问题描述】:
我有一个具有多对多关系的数据模型。假设我有一个Producer 模型和一个Customer 模块。一个客户可以从任意数量的生产者那里购买,而一个产品可以为任意数量的客户提供服务。
在后端,我有三个表的标准关系配置:
- 客户
- 制片人
- customer2producer
我的 Ember 模型目前如下所示:
// models/producer.js
import DS from 'ember-data';
export default DS.Model.extend({
customers: DS.hasMany('module'),
});
// models/customer.js
import DS from 'ember-data';
export default DS.Model.extend({
producers: DS.hasMany('module'),
});
现在我正在使用固定装置,我所做的只是用“目标”的 id 定义 customers 和 producers 数组。问题是,迟早我会切换到真正的 REST 后端,这意味着我必须处理模型不匹配的问题。我想我必须选择:
-
定义一个 Ember 模型
customer2producer。这可能会奏效,但我想我将不得不写很多样板文件,而且很可能无法从模型中访问关系(customer.get('producers')不会直接工作,我可能不得不玩并做一些事情就像这个问题一样: -
挂钩到序列化器/反序列化器系统,并将后端
customer2producer对象转换为 Ember 模型引用。我不完全确定这是可能的,但我想说这是通过快速阅读这些 SO 问题:How to save models with many-to-many relationship in Ember.js?
我想这是一种非常常见的情况,我想知道解决问题的最干净的方法是什么。提前致谢。
【问题讨论】:
标签: ember.js many-to-many