【问题标题】:TypeORM Recursive Entities类型ORM递归实体
【发布时间】:2020-07-30 21:49:23
【问题描述】:

所以我有 2 个实体 ItemGroup

一个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[];
}

【问题讨论】:

标签: database typescript recursion orm typeorm


【解决方案1】:

只需从其中一个实体中删除 @JoinTable()

class Item {
   {...}

   @ManyToMany(type => Group, group => group.items)
   groups: Group[];
}
class Group {
   {...}
   
   @ManyToMany(type => Item, item => item.groups)
   @JoinTable()
   items: Item[];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多