私の Sails アプリケーション (Sails の初心者) には、3 つのモデルがあります:
-
ユーザー (電子メール、パスワード)
- グループ (名前)
- アイテム (名前)
ユーザーとアイテムの間で、これをどのように達成できますか?
私は帆 0.9.4 を使用しています。関係に関する問題 #124 を読みましたが、これが既存のモデル (itemId と userId の上に独自の属性も含まれています) に適用できるかどうかはよくわかりませんでした。
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'
}
}
}
何が起こっているのかを知るために、このファイルのコードを調べなければなりませんでした。