用户登录

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

更新内容的时候可以存储一下内容与标签的关系,在 Post 服务里找到处理内容更新用的方法,就是这个 update 方法,先从 data 参数里把 tags 解构出来。

更新内容用的是 postRepository 上的 update 方法,给这个方法提供的 data 值里在要去掉 tags,在上面 delete 掉 data 里的 tags。

下面执行更新内容,可以去掉定义的 result。

更新之后可以再把这个内容实体找出来,const entity,await,this.postRepository,findOne,找到指定 id 的内容实体,给它一个选项,添加一个 relations,带着 category 还有 tags 这两个关系。

下面判断一下,如果有 tags,可以设置 entity 的 tags,它的值用一下 this.beforeTag,把 tags 交给这个方法。

最后 return,await,this.postRepository.save,保存一下 entity,这样就保存了这个内容实体与标签的关系。

测试

回到数据库客户端,打开 post 表, 可以先找个带 山 这个关键词的诗句, 比如 id 号是 15 的这个内容。

在 HTTP 客户端,新建一个请求,名字叫 Post Update,请求方法是 PUT,设置一下请求的地址,localhost:3000/posts,斜线,后面加上内容的 id 号。

请求里带着一个主体数据,可以只添加一个 tags,它的值是个数组,每个项目都是一个对象,对象里可以有一个 id 属性,它的值就是要给这个内容打上的标签数据记录的 id 号。

发送一下这个请求。

再回到数据库客户端,打开 post_tags_tag 这个表,这里你会发现, id 号是 15 的内容关联了一个 id 号是 1 的标签。

更新内容时存储与标签的关系(多对多)《 Nest.js 应用框架:标签 》

统计

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

社会化网络

关于

微信订阅号

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