CNode

使用sequelize+mysql,为什么在include里面添加where会导致查询不到结果?

问答
Llncwwn发布于10 年前最后回复10 年前1 回复4141 浏览0 收藏

使用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)

S
simdm#1·10 年前

你两个category的连接条件是什么,没明白你想查什么

参与回复
登录后即可参与回复。登录