给内容打上标签之前,可以先检查一下是不是已经给这个内容打上了这个标签,可以定义一个函数提供这个检查的功能,它可以根据提供的 postId 与 tagId 的值,查询 post_tag 数据表里是否有这条数据记录。如果有就说明已经给内容打上了这个标签,如果没有就说明还没打上这个标签。
在 post.service 里定义一下这个检查内容标签的服务,定义并导出一个异步函数,名字叫 postHasTag,让这个函数接收一个 postId 参数,类型是 number,还有一个 tagId 参数,类型也是 number。
在函数里面先准备一段 sql 查询,声明一个 statement,用一个字符模板组织一段 sql, select * from post_tag 这个表,where 设置查询条件,条件是 postId 等于一个值, and 并且,tagId 也要等于一个特定的值。 这里先用占位符表示这个值。
下面把准备好的这段 sql 交给数据仓库执行,const 方括号 data,解构执行的结果,等于 await ,用一下 connection . promise,接着再用 query 执行一段 sql,这里就是 statement,提供一下这段 sql 里的占位符的值,放在一个数组里面,第一个项目是 postId,第二个项目是 tagId 。
最后让这个函数提供检查的结果,可以是 true 或者 false,这里要做一下判断,判断的是 data 里的第一个项目,如果有值,就返回 true 如果它没有值就返回 false。