【发布时间】:2016-11-05 09:05:48
【问题描述】:
我有 2 个模型 User 和 Item 具有多对多关系,这里是定义:
User = sequelize.define('User', {
name: {type: Sequelize.STRING}
})
Item = sequelize.define('Item', {
name: {
type: Sequelize.STRING,
allowNull: false
}
}
User.belongsToMany(models.Item, {
as: 'items',
through: 'UserItem'
})
Item.belongsToMany(models.User, {
as: 'owners',
through: 'UserItem'
})
我的要求是:
Item.findAll({
include: [{
model: User,
through: {
where: {id: 2}
}
}]
}).then(items => {
log.debug(items)
}).catch(err => {
log.error(err)
})
然后我有:Error: User is not associated to Item!
我也试试这个:
Item.findAll({
where: {'owners.id': 2},
include: Item.assocations.owners
}).then(items => {
debug(items)
}).catch(err => {
log.error(err)
})
但现在我有Error: SQLITE_ERROR: no such column: Item.owners.id
有任何想法吗 ?
【问题讨论】:
标签: sql node.js orm associations sequelize.js