5

私の Sails アプリケーション (Sails の初心者) には、3 つのモデルがあります: -
ユーザー (電子メール、パスワード)
- グループ (名前)
- アイテム (名前)
ユーザーとアイテムの間で、これをどのように達成できますか?

私は帆 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 に答える