用户登录

一个用户可以对应多个文章内容,多个文章可能属于同一个用户。这就是一对多还有多对一的关系,在实体里面我们可以描述一下内容之间的关系。

先打开 user 实体,描述一对多的关系要用一下 OneToMany 这个装饰器,使用它的需要提供两个参数,第一个参数主要就是说明一下这个关系关联的内容的类型, 接收一个 type 参数,返回的东西就是关联的内容类型,这里应该是 Post 这种类型。

第二个参数的作用是说明一下反向的关系,就是在 Post 那里,这个关系是什么,接收一个 post 参数,返回是 post.user,也就是在 Post 实体上面应该有个 user 属性,它应该是 Post 与 User 的关系,暂时这个关系还不存在,等会儿我们再去创建它。

这个关系的名字是 posts,复数的形式,因为一个用户可能会发布多个内容,它的类型是一组 Post[]。

下面再打开 Post 实体,在它里面,用一个 @ManyToOne,添加一个多对一的关系,一个 type,返回的是 User 实体类型,意思就是这个关系关联的是 User 实体,第二个参数描述一下反向的关系,在 User 那里,这个关系应该是 user 里的 posts。

这个 Post 实体是这个关系的拥有者,在这个实体上会给我们添加一个新的数据栏,用它保存 Post 与 User 的关系。

在数据库客户端观察一下,打开 post 这个数据表,你会发现这里会出现一个叫 userId 的字段 ,它里面存储的值应该是用户这个数据表里的 id 字段的值。

暂时这栏内容的值都是 NULL,这里我们先手工设置一下这些数据记录的 userId 的值,输入 1,表示这个内容的作者就是 id 号是 1 的这个用户。

下面再分别设置一下这些记录的 userId 的值。

一对多 / 多对一的关系(OneToMany、ManyToOne)《 Nest.js 应用框架:内容关系 》

统计

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

社会化网络

关于

微信订阅号

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