【问题标题】:what is Exactly One to many in typeorm什么是 typeorm 中的 Exactly One to many
【发布时间】:2021-02-27 23:21:56
【问题描述】:

我想确切地知道 Type orm 中的一对多关系

@oneTomany 

这个命令本身是否是一列,并且该列的值保存在另一个表中吗?

它的参数到底是什么?

【问题讨论】:

    标签: nestjs typeorm


    【解决方案1】:

    一对多关系用于将表中的一行链接到另一个表中的多行。

    例如,如果您有一个用户表和文章表,并且您想将文章链接到用户,这将非常有用。

    使用 TypeOrm,你需要在你的用户实体中定义 @OneToMany() 装饰器

    @OneToMany(() => ArticlesEntity, articleEntity => articleEntity.user)
    @JoinColumn()
    articles: ArticlesEntity;
    

    你还需要在另一边定义@ManyToOne()装饰器,这里是文章实体

    @ManyToOne(() => UsersEntity)
    @JoinColumn({ name: 'user_id', referencedColumnName: 'id' })
    user: UsersEntity;
    

    如您所见,关系需要referencedColumnName。这将是您的文章表中引用的 userId

    由于这种关系,您将有可能在找到您的文章时获得链接用户

    async findArticleById(id): Promise<ArticlesEntity> {
       return this.findOne({
           where: { id },
           relations: ['user'],
       });
    }
    

    如果您需要有关它的更多信息,请查看typeorm documentation about many-to-one-one-to-many relations

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-31
      • 2021-06-09
      相关资源
      最近更新 更多