用户登录

NinghaoNgCamp:用过 Angular 才知道它有多强大。了解详情 / 报名参加 →

内容与标签这两种实体之间存在一个多对多的关系,一个内容上可以包含多个标签,一个标签也可以属于多个内容。

先去定义一下这两种实体之间的多对多关系,打开 Tag 实体, 定义多对多的关系,可以用一下 @ManyToMany 装饰器,先描述一下关系关联的实体的类型,类型是 Post 实体,再描述一下在 Post 实体那里这个关系是什么,可以是 post 上的 tags,等会儿再到 Post 实体上去定义这个 tags 关系。关系的名字叫 posts,值的类型是一组 Post。

下面再打开 Post 实体,在这里同样可以使用 @ManyToMany 去定义一个多对多的关系,关系关联的实体类型是 Tag,在 Tag 那里这个关系就是刚才定义的 tag 上的 posts。

关系的名字叫 tags,值的类型是一组 Tag。

我们可以让这个 Post 实体拥有他跟 Tag 之间的关系,所以在这个关系上再用一个 @JoinTable() ,创建一个连接表,保存一下这个实体文件。

打开数据库客户端,观察一下应用的数据库,你会发现这里多了一个 post_tags_tag 这个表,在这个表里保存的东西就是 Post 与 Tag 之间的关系,这个表里要记录的是 post 记录的 id 还有 tag 数据记录的 id。

定义内容与标签关系(多对多)《 Nest.js 应用框架:标签 》

统计

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

社会化网络

关于

微信订阅号

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