您可以创建另一个表
CommentableEntity(尽管称其更好)。表中的每一行(
Articles,
Recipes等等)都将引用此表中的唯一行。实体表可能具有
type指示实体类型的字段(以帮助反向连接)。
然后,您可以有一个以通用方式
Comment引用的表
CommentableEntity。
因此,例如,您将得到下表:
Articles-----------------Article_idCommentableEntity_id (fk, unique)Content....Recipes-----------------Recipe_idCommentableEntity_id (fk, unique)Content....CommentableEntity-----------------CommentableEntity_id (pk)EntityType (e.g. 'Recipe', 'Article')Comment-------Comment_id (pk)CommentableEntity_id (fk)User_id (fk)DateAddedComment ...etc...
您可以在每次添加文章/食谱等时添加CommentableEntity记录。您所有的注释处理代码都必须知道CommentableEntity_id-
它不在乎它是什么类型。



