where(property IN array)在typeorm查询生成器中是如何工作的



我需要使用查询生成器通过id数组过滤实体的id。

这是代码:

await this._productRepo
.createQueryBuilder('Product')
.where('Product.id IN (:...ids)', { ids: [1, 2, 3, 4] })

这是由以下查询生成的sql:

SELECT [*FIELDS*] WHERE ( `Product`.`id` IN ? ) AND ( `Product`.`deletedAt` IS NULL )

这是一个代码示例,我在typeorm的文档中找到了它,我不明白为什么会有?在sql中,而不是id列表。

我需要查询生成器,因为下一步是过滤联接表的id,所以我不能使用Repository方法。

已解决。

上面的查询生成器语法有效。问题出现在我的回购代码的另一部分。

如果有人似乎有类似的问题,请检查您的所有代码,getSql((报告的事实:

WHERE ( `field`.`property` IN ? )

是";"正常";,我认为是因为typeorm的开发人员不想打印所有数组的值。

最新更新