【问题标题】:Many-to-many relationships with ember-data models与 ember-data 模型的多对多关系
【发布时间】:2015-07-13 15:39:07
【问题描述】:

我是 emberjs 的新手,目前正在开发一个新项目。我的应用程序有 3 个模型,即成员、项目和任务。

  1. 一个成员可以有多个任务,一个任务可以有多个成员(多对多)
  2. 一个项目可以有多个任务,一个任务只能属于一个项目(一对多)
  3. 一个项目可以有多个成员,一个成员可以有多个项目(多对多)

对于 1 和 2,一切都很好。

但是,对于项目和成员之间的关系,成员既可以是项目的简单成员,也可以是项目经理。

在我的数据库模式中,我通过一个名为 project_members 的附加表和一个名为“role”的附加字段来表示这种关系,该字段可以是 0(表示简单成员)或 1(表示项目经理)。

使用 ember-data 模型表示这一点的最佳方式是什么?我应该如何表示这种关系以及我应该如何以及在哪里包含额外的“角色”字段?

谢谢

【问题讨论】:

    标签: ember.js many-to-many ember-data


    【解决方案1】:

    不确定它是否会起作用,因为我没有尝试让多个属性指向一个模型,但是您可以在项目模型中添加这些属性,例如

    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')
    

    【讨论】:

      猜你喜欢
      • 2013-03-15
      • 2014-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多