【问题标题】:how do use type-graphql argstype object as a parameter for sequelize findall?如何使用 type-graphql argstype 对象作为 sequelize findall 的参数?
【发布时间】:2020-01-31 07:58:46
【问题描述】:

我使用nestjs、sequelize-typescript 和type-graphql

我创建了 type-graphql @ArgsType

@ArgsType()
export class TagArgs{
    @Field(type => Int)
    type: number;
}

在我的解析器中,我使用上面的 TagArgs 创建如下查询

@Query(returns => [Tag])
tags(@Args() tagArgs: TagArgs): Promise<Tag[]>{
    return this.tagService.findAll(tagArgs);
}

以下是我的 TagService 类的 findAll 函数

async findAll(tagArgs: TagArgs): Promise<Tag[]>{
    return this.tagRepository.findAll<Tag>(tagArgs);
}

但是 TS:2345: Argument of type 'TagArgs' is not assignable to parameter of type 'FindOptions' 等错误发生在 this.tagRepository.findAll(tagArgs)

如何使用 ArgsType 对象??

【问题讨论】:

  • 当我删除在 TagService findall 中输入的 TagArgs 时,它运行良好。这是正确的方法吗??

标签: graphql nestjs sequelize-typescript


【解决方案1】:

假设TagArgs 属性与Tag 实体类具有相同的签名,您应该这样做:

this.tagRepository.findAll<Tag>({ where: tagArgs })

【讨论】:

    猜你喜欢
    • 2021-06-04
    • 2021-01-22
    • 2021-01-09
    • 2017-05-23
    • 2017-03-14
    • 2020-02-03
    • 1970-01-01
    • 2021-03-30
    • 2017-01-26
    相关资源
    最近更新 更多