用户登录

用户可以给多个文章内容进行投票,文章内容可以被多个用户投票,这种情况下,用户还有内容之间就是一个 ManyToMany,就是多对多的关系,这个投票你也可以换成或者想成是其它的动作,比如喜欢,收藏等等。

下面我们去定义这个多对多的关系,先打开用户实体,定义多对多的关系,要使用 @ManyToMany 这个装饰器,关联的 type 是 Post 实体。

关系的名字可以叫 voted,它应该是一组 Post[] ,多对多的关系需要存储在一个中间表里,所以这个有关系的上面,需要再用一个 @JoinTable ,它接收一个选项参数,里面可以设置一下中间表的名字, 如果不特别设置的话,就会使用默认的名字。

保存一下这个实体, 然后打开数据库客户端,你会发现在应用使用的数据库里面会多了一个叫 user_voted_post 这样的一个数据表,表里面有两个字段 ,一个是 userId,还有一个 postId。

也就是创建了用户还有内容之间的关系,会在这个表里面存储一下用户的 ID 号,还有用户投票的那个 ID 号。

多对多关系(ManyToMany)《 Nest.js 应用框架:内容关系 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点