我有两张桌子:
---id---userid--- and ---id---productid---productname---
因此,它与以下代码相关联:
Product.belongsToMany(User, {through: 'resultingproducts', foreignKey: 'userid'});
User.belongsToMany(Product, {through: 'resultingproducts', foreignKey: 'productid'});
我试图从当前用户的“产品”中获取产品
Product.sync()
.then(() => {
Product.findAll({
include: [User],
through: {
where: {
userid: userId
}
})
但此代码返回db中所有用户的产品。 有谁可以帮助我?
答案 0 :(得分:1)
您应该真正查询用户模型而不是产品型号。 尝试将代码更改为以下内容,以查找与“此”用户“相关”的所有产品。
User.findAll({
include: {
model: Product, // Product is Product model
through: {attributes: []} // this will remove rows from join table in the result
},
where: { userId: userId } // note, where clause is outside 'include' and 'through'
})