rt_*_*rt_ 7 postgresql typeorm
我试图弄清楚如何创建一个用户实体,该实体与包含其他用户实体的朋友列上的关系。通过 userId 对的联接表进行联接。这种作品:
@Entity('user')
export class User {
@PrimaryGeneratedColumn('uuid')
id: string;
@ManyToMany(
() => User,
(user) => user.friends
)
@JoinTable()
friends: User[];
}
Run Code Online (Sandbox Code Playgroud)
它确实创建了一个关系,我可以用 id 填充连接表并检索数据,但这似乎只是一种方法。
这是连接表:
userId_1 | userId_2
------------+------------
Run Code Online (Sandbox Code Playgroud)
我所说的一种方式是指链接似乎来自 userId_1 -> userId_2 而不是两种方式。对此有什么办法可以改进吗?我希望能够根据单行条目从任一侧获取关系
小智 6
您需要添加关系的另一端。我使用“追随者”而不是“朋友”,因为这清楚地反映了每种关系的方向。
这样你就可以做类似的user.followers事情user.following
@ManyToMany(() => User, (user) => user.following)
@JoinTable()
followers: User[];
@ManyToMany(() => User, (user) => user.followers)
following: User[];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |