使用sequelize+mysql,为什么在include里面添加where会导致查询不到结果?
使用Sequelize定义了Category,然后category可能有二级category,所以定义了category跟自己本身的hasmany的关系:
Category.hasMany(Category, {foreignKey: 'pid', through: null });
然后在category的findAll方法中添加了用于联合查询的include属性
Category.findAll({
...
include: {
model: Category,
attributes: [...],
where: {
is_deleted: 0
}
}
})
在上面的where条件中我加上is_deleted
是想把满足is_deleted=0
的二级category查询出来,但是加上这个where以后结果集为空,去掉就可以(当然不满足要求,is_deleted=1
的类目也被查询出来了)
请问应该如何解决?
1 回复
你两个category的连接条件是什么,没明白你想查什么