多态一对多
首先评论这个是一对多的关系。所以说应该在评论表里面存储一个被评论模型(比如文章、图片)的 Id,但是这个时候呢,文章的 ID 与图片的 ID 一定会有重合的情况。例如某用户评论了 Id 为 1的文章,某用户评论了 Id 为1的图片,这个时候我们查询的时候就不清楚这个用户到底是评论了图片还说文章。
新建 comment.ts
新建 post.ts
多态都是通过增加一个标识字段来区分不同的类型,而在声明关系的时候,可以通过 scope 来指定这个标识是什么,这样就可以区分开来了。constraints 是为了关闭外键所存在的约束,对于多态的,请关闭它。foreignKey 是为了指定相关联的字段值。
新建 image.ts
在 index.ts 里面添加如下代码
记得别忘了同步数据库表,完成运行之后,可以看到所有的评论都存在了一个表里面。