首页 > 解决方案 > 如何使用 TypeORM 为用户、组和组元数据创建关系?

问题描述

创建 MySQL 表关系,并困惑于在 User -> Groups -> GroupsMetaData 上实现哪个关系。

User.id = OneToMany(组)

组 = ManyToOne(用户)

Groups.id = 多对多(GroupsMetaData)

GroupsMetaData = ManyToOne(Groups)

使用 TypeORM 来实现这种方法。

用户实体.ts

  @OneToMany(type => Groups, groups => groups.uid)
  groups:Groups[]

Groups.entity.ts

  @ManyToOne(type => User, user => user.groups)
  uid:User

坚持为 Groups 和 GroupsMetaData 创建关系。

谢谢

**这不是专业的解释方式,我尝试了最好的解释

标签: mysqlrelational-databasenestjstypeorm

解决方案


用户实体

@OneToMany(type => Groups, groups => groups.uid)
groups:Groups[]

集团实体

@ManyToOne(type => User, user => user.groups)
user: User

@ManyToOne(type => GroupMetadata, gmeta => gmeta.groups)
details: GroupMetadata

组元数据实体

@OneToMany(type => Groups, groups => groups.uid)
groups: Groups[]

使用该配置,您将拥有以下内容: SQL图

使用组作为联结表的用户和组元数据之间的多对多关系。我建议您更改某些表的名称,组可以称为“user_group”,组元数据可以重命名为组。

让我知道这是否回答了您的问题


推荐阅读