我是emberjs的新手,我目前正在开发一个新项目。我的应用程序有3个模型,即Member,Project和Task。
对于1和2,一切都很好。
但是,对于项目和成员之间的关系,成员可以是项目的简单成员,也可以是项目经理。
在我的数据库模式中,我通过另外一个名为project_members的表来表示这种关系,并且还有一个名为' role'它可以是0(表示简单成员)或1(表示项目经理)。
使用ember-data模型表示这个的最佳方法是什么?我该如何表达这种关系,以及我应该如何以及在哪里包含额外的角色'场?
由于
答案 0 :(得分:0)
不确定它是否可行,因为我没有尝试过指向一个模型的多个属性,但您可以在项目模型中添加这些属性,如
projectManager: DS.belongsTo('member'),
members: DS.hasMany('member')
然后是成员模型
projectManagerTo: DS.hasMany('project')
projects: DS.hasMany('project')
或者,无论您是否知道项目经理只使用成员模型数据,您都可以使用计算属性。
projectManager: function() {
// some logic to determine which of the members is the project manager
}.property('members')