Sequelize.js 三方关系
创建以下关系Sequelize.js 三方关系,sequelize.js,Sequelize.js,创建以下关系 bookmark.belongtomany(标记,{通过:'BookmarkTag'}); belongsToMany(书签,{通过:'UserBookmark'}); 将创建两个RelationshipTable 书签标签 |书签ID |标记ID UserBookmark |书签ID |用户ID 我希望BookmarkTag也包含用户id,以便我知道哪个用户向哪个书签添加了标记 书签标签 |书签ID |标记ID |用户ID 这可能通过续集关联实现吗 完整代码 var bookm
bookmark.belongtomany(标记,{通过:'BookmarkTag'});
belongsToMany(书签,{通过:'UserBookmark'});
将创建两个RelationshipTable
书签标签
|书签ID |标记ID
UserBookmark
|书签ID |用户ID
我希望BookmarkTag也包含用户id,以便我知道哪个用户向哪个书签添加了标记
书签标签
|书签ID |标记ID |用户ID
这可能通过续集关联实现吗
完整代码
var bookmark = sequelize.define('Bookmark', {
name: Sequelize.STRING,
url: Sequelize.STRING
});
var tag = sequelize.define('Tag', {
value: Sequelize.STRING
});
var user = sequelize.define('User', {
email: Sequelize.STRING
});
bookmark.belongsToMany(tag, {through: 'BookmarkTag'});
user.belongsToMany(bookmark, {through: 'UserBookmark'});
sequelize.sync();
如果明确定义BookmarkTag表,则可以向其添加额外属性:
BookmarkTag = sequelize.define('BookmarkTag', {
userId: Sequelize.INTEGER
});
bookmark.belongsToMany(tag, {through: BookmarkTag});
请注意,我们传递的是对BookmarkTag模型的引用,而不是字符串
要在标记上设置用户ID,在执行addTag
Bookmark.addTag(tag, { userId: 42 });