我可以将值插入另一个实体吗?类型ORM

时间:2020-02-28 13:27:24

标签: javascript typescript typeorm

我有以下内容;

@Entity()
export class User {

  @PrimaryGeneratedColumn()
  id!: number

  @Column()
  name: string

}

假设我用

添加了一个新用户
{name: "Kahvi", gold: "200", exp: "500"}

我将如何向用户内的库存实体添加黄金和EXP?

1 个答案:

答案 0 :(得分:0)

我可能会为Inventory创建一个带有typequantity列的子实体,以及其他可能有意义的列。

示例:

@Entity()
export class User {    
  @PrimaryGeneratedColumn()
  id!: number;

  @Column()
  name: string;

  @OneToMany(type => InventoryItem, item => item.user)
  inventory: InventoryItem[];
}

@Entity()
export class InventoryItem {
  @PrimaryGeneratedColumn()
  id!: number;

  @Column()
  type: string;

  @Column()
  quantity: number;

  @ManyToOne(type => User, user => user.inventory)
  user: User;
}

然后,您可以向其中添加看起来更像这样的项目:

{ 
  name: "Kahvi",
  inventory: [
    {
      type: "gold",
      quantity: 200
    },
    {
      type: "exp",
      quantity: 500
    }
  ]
}