我正在尝试找出如何使用书架使用以下模式来获取正确的数据,但是我无法找出使用through
来获取数据的正确方法。 user
是一个org
的成员,一个org
有许多users
,并且members
表用于链接这两个。我可以从members
正确地获得org
,也可以从user
正确地获得org
和member
,但是我无法获得org
中的user
。我收到以下错误Cannot convert undefined or null to object.
有什么想法吗?
User schema
id: primary
name: string
Org schema
id: primary
name: string
Member schema
id: primary
user_id: fk to User
org_id: fk to Org
下面是模型的代码
const bookshelf = require('../bookshelf')
const User = bookshelf.Model.extend('User', {
tableName: 'users',
org: function () {
return this.belongsTo('Org').through('Member')
}
})
const Org = bookshelf.Model.extend('Org', {
tableName: 'orgs',
members: function () {
return this.belongsToMany('User', 'Member')
}
})
const Member = bookshelf.Model.extend('Member', {
tableName: 'members',
org: function() {
return this.belongsTo('Org')
},
user: function() {
return this.belongsTo('User')
}
})
编辑:如果将User
更改为以下内容,则会返回Orgs
的数组,但这是不正确的,因为User
只能是一个{{ 1}}。
Org
我在这里想念什么?