评论可以被回复,也就是一个评论可以是另一条评论的回复。如果评论是回复评论,只需要在这条评论数据的 parentId 这个栏目里面,记录一下回复的是哪一条评论就行了。
回到项目,打开 comment.service ,在这里可以定义一个检查评论是否是回复评论的功能,名字是 isReplyComment,使用它的要提供一个评论的 id ,这个参数的类型设置成 number。
在函数里面先准备一条查询,声明一个 statement,用一个字符模板组织一段 SQL ,用 SELECT ,选择 parentId 这个字段,FROM,来自 comment 这个数据表。用 WHERE 设置一个条件,评论的 id 应该等于一个具体的值。先用一个占位符表示。
下面把准备好的这段 SQL 交给数据仓库执行一下, const 方括号 data ,等于 await ,connection.promise,接着使用 query 这个方法,把要执行的 sql 交给它,这里就是 statement ,然后设置一下这段 sql 里的占位符的值,这里就是 commentId,也就是使用这个函数地时候提供的这个评论的 id 这个参数。
然后让这个函数返回检查的结果,这个结果可以是 true,也可以是 false, 做一下判断,判断的就是看看 data里的第一个项目里面的 parentId 这个栏目的值,如果评论数据的这个栏目里面有值,就说明这条评论是一条回复评论,这种情况我们就可以返回 true,不然就返回 false 。