我想确切地知道 Type orm 中的一对多关系是什么
\n@oneTomany \nRun Code Online (Sandbox Code Playgroud)\n这个命令本身是否是一个列并且该列的值保存在另一个表\xd8\x9f\xd8\x9f中
\n它的具体参数是什么?
\n一对多关系用于将表中的一行链接到另一个表中的多行。
例如,如果您有用户表和文章表并且您想要将文章链接到用户,那么它会很有用。
使用TypeOrm,您需要@OneToMany()在用户实体中定义装饰器
@OneToMany(() => ArticlesEntity, articleEntity => articleEntity.user)
@JoinColumn()
articles: ArticlesEntity;
Run Code Online (Sandbox Code Playgroud)
您还需要@ManyToOne()在另一侧定义装饰器,在文章实体中
@ManyToOne(() => UsersEntity)
@JoinColumn({ name: 'user_id', referencedColumnName: 'id' })
user: UsersEntity;
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这种关系需要一个referencedColumnName. 这将是您userId在文章表中引用的内容。
由于这种关系,您在查找您的文章时将有可能获得链接的用户
async findArticleById(id): Promise<ArticlesEntity> {
return this.findOne({
where: { id },
relations: ['user'],
});
}
Run Code Online (Sandbox Code Playgroud)
如果您需要更多信息,请查看有关多对一一对多关系的 typeorm 文档
| 归档时间: |
|
| 查看次数: |
5427 次 |
| 最近记录: |