gpt4 book ai didi

postgresql - TypeOrm 多对多同一实体

转载 作者:行者123 更新时间:2023-12-04 15:17:19 24 4
gpt4 key购买 nike

我试图弄清楚如何在包含其他用户实体的 friend 列上创建一个具有关系的用户实体。通过 userId 对的连接表进行连接。
这类作品:

@Entity('user')
export class User {
@PrimaryGeneratedColumn('uuid')
id: string;
@ManyToMany(
() => User,
(user) => user.friends
)
@JoinTable()
friends: User[];
}
它确实创建了一个关系,我可以用 id 填充连接表并检索数据,但这似乎只是一种方法。
这是连接表:
 userId_1 | userId_2 
------------+------------
我的意思是一种方式是链接似乎来自 userId_1 -> userId_2 而不是双向。
有什么办法可以改进吗?我希望能够根据一行条目从任一侧获取关系

最佳答案

您需要添加关系的另一侧。我使用“追随者”而不是“ friend ”,因为这清楚地反射(reflect)了每个关系的方向。
这样你就可以做类似 user.followers 的事情和 user.following

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

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

关于postgresql - TypeOrm 多对多同一实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64096417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com