【发布时间】:2020-07-30 21:49:23
【问题描述】:
所以我有 2 个实体 Item 和 Group
一个Item 可以有多个“子组”
一个Group可以有多个“子项”
我需要在 TypeORM 中创建这种递归关系,但我不确定如何正确执行。
我假设我需要一个 ManyToMany 但不确定JoinTable() 的去向。
我尝试了以下方法,将Item 添加到Group 时似乎无法正常工作
另外一点是这棵树是递归的。这棵树的深度没有限制,一个Item可以属于多个Groups,一个Group可以属于多个Items
class Item {
{...}
@ManyToMany(type => Group, group => group.items)
@JoinTable()
groups: Group[];
}
class Group {
{...}
@ManyToMany(type => Item, item => item.groups)
@JoinTable()
items: Item[];
}
【问题讨论】:
-
根据 Typeorm,@JoinTable 必须仅位于关系的一侧(与哪个实体无关)。 github.com/typeorm/typeorm/blob/master/docs/…检查双向关系部分。
标签: database typescript recursion orm typeorm