TypeORM - where子句中的布尔值无法正常工作

3

我在使用TypeORM的where子句和布尔值时遇到了问题,如下所示:

async getUserProjects(user: User, isFavorite: boolean): Promise<User[]> {
        const data = await this.conn.getRepository(User).find({
            where: {
                userId: user,
                favorite: isFavorite
            },
        })

  @Column({
    type: 'bool'
  })
  favorite: boolean;

为什么这个find方法不能正常工作,总是返回favorite值为false的数据? 当我的fav等于true时,返回所有数据,当favorite等于false时......有人能告诉我这里出了什么问题吗?


你能粘贴你的实体吗? - Hugo Sohm
@HugoSohm 是的,在底部。 - markWanka
尝试在你的“Column”中使用“boolean”类型而不是“bool”。 - Hugo Sohm
1个回答

0
const data = await this.conn.getRepository.find(User,{
            where: {
                userId: user,
                favorite: isFavorite
            },

我尝试了这段代码,对我起作用。 find<Entity>(entityClass: EntityTarget<Entity>, conditions?: FindConditions<Entity>): Promise<Entity[]>;


我添加了更多的代码,仍然通过boolean = false搜索我。 - markWanka
如果在fav位置直接传递true值,你会得到什么? - Aasai priyan
具有fav=true值的内容 - markWanka
当我从参数传递数据时,它不起作用。 - markWanka
你使用哪个数据库? - Aasai priyan
你可以尝试使用数字1代替true - Aasai priyan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接