5

在我的sails 应用程序(真正的新手)中,我有3 个模型:
- 用户(电子邮件、密码)
- 组(名称)
- 项目(名称)
我希望组模型充当多对多关系在用户和项目之间,如何实现?

我正在使用sails 0.9.4,我已经阅读了有关关系的问题#124,但并没有真正理解这是否可以应用于现有模型(该模型还包含在itemId和userId之上的自己的属性)。

4

2 回答 2

7

如果切换到 v0.10 分支,可以尝试以下,

// Users.js
module.exports = {
    tableName: 'user',
    attributes: {
        email: 'STRING',
        password: 'STRING',
    }
    items: {
        collection: 'item',
        via: 'users',
        through: 'useritem'
    }
}

// Items.js
module.exports = {
    tableName:'item',
    attributes: {
        name: 'STRING'
    }
    users: {
        collection: 'user',
        via: 'items',
        through: 'useritem'
    }
}

// Groups.js
module.exports = {
  tableName: 'group',
  tables: ['user', 'item'],
  junctionTable: true,

  attributes: {
    id: {
      primaryKey: true,
      autoIncrement: true,
      type: 'integer'
    },
    user_items: {
      columnName: 'user_items',
      type: 'integer',
      foreignKey: true,
      references: 'user',
      on: 'id',
      via: 'item_users',
      groupBy: 'user'
    },
    item_users: {
      columnName: 'item_users',
      type: 'integer',
      foreignKey: true,
      references: 'item',
      on: 'id',
      via: 'user_items',
      groupBy: 'item'
    }
  }
}

我必须通过这个文件中的代码来找出发生了什么。

于 2014-02-27T11:25:24.623 回答
1

从 Sails.js v0.9.4 开始,该框架还不支持关联。

Balderdash(Sails 的开发人员)表示,关联和事务都在生产版本的路线图上,并在 GitHub 上的#124 问题中记录了可能的 API

目前有一个支持关联的 Waterline(Sails 使用的 ORM 适配器)的开发分支,但是在查找有关新 API 的文档时可能会遇到一些问题

现在,您必须要有创意并寻找其他方式来连接您的用户和项目

于 2013-10-08T15:15:19.793 回答