我正在努力弄清楚如何与Bookshelf.js和postgres建立深厚的关系。
假设我有三个模型,User
,Org
和UserRole
... User
和Org
具有多对多关系。 UserRole
和User
通过Org
是多对多的。在概念上我在努力的地方是如何实现:User 1
属于Org A
和Org B
; User 1
Admin
应该是Org A
中的Org B
角色,而不是{{1}}
我无法在bookshelf.js文档或互联网中找到任何示例或提示,文档总是指在单数表中加入表,而不是表。推动正确的方向将非常受欢迎。
答案 0 :(得分:0)
鉴于上述情况,关系是:
belongsToMany
" Org" hasMany
" UserRole" belongsToMany
"用户" hasMany
" UserRole" belongsTo
" Org" belongsTo
"用户" 以下是如何加载" UserRoles"对于"用户" by" Org":
UserRole.forge({
name: 'Admin',
user_id: 1,
org_id: 2
})
.save()
.then(function () {
User.forge({ id: 1 }).fetch().then(function (user) {
user.user_roles().query({ where: { org_id: 2 }}).fetch().then(function (user_roles) {
console.log('user_roles: %j', user_roles);
}),
});
});