如何在此关系中插入关注者

时间:2018-03-14 22:31:46

标签: typescript typeorm

我有这个想法

@ManyToMany(() => User, user => user.following)
@JoinTable()
followers: User[]

@ManyToMany(() => User, user => user.followers)
following: User[]

如何在此关系中插入新关注者? 我是typeorm和sql数据库的新手

1 个答案:

答案 0 :(得分:0)

您可以通过启用级联来执行此操作:

@ManyToMany(() => User, user => user.following, {cascadeInsert: true, cascadeUpdate: true})
@JoinTable()
followers: User[]

@ManyToMany(() => User, user => user.followers, {cascadeInsert: true, cascadeUpdate: true})
following: User[]

如果您不想使用cascadeInsert和cascadeUpdate,则必须手动保存相关实体:

const follower1 = new Follower({...});
await connection.manager.save(follower1);

const follower2 = new Follower({...});
await connection.manager.save(follower2);

const entity = new Entity();
entity.followers = [follower1, follower2];
await connection.manager.save(entity);

有关详细信息,请参阅TypeORM文档:https://github.com/typeorm/typeorm/blob/master/docs/many-to-many-relations.md