我有3个型号:
帖子:
> id
>标题
>身体
照片:
> id
>文件路径
评论:
> id
> post_id
>身体
和DB中的对应表.现在,如果我想为我的帖子发表评论,我可以简单地添加以下外键:ALTER TABLE comment ADD FOREIGN KEY(post_id)REFERENCES post(id).但是我想对其他模型(照片,个人资料,视频等)发表评论,并将所有评论保留在一个表格中.在这种情况下,我如何定义外键(我绝对需要FK的ORM)
解决方法
你可以这样做:
post: * post_id (PK) * title * body photo: * photo_id (PK) * filepath comment: * comment_id (PK) * body comment_to_post * comment_id (PK) -> FK to comment.comment_id * post_id (PK) -> FK to post.post_id comment_to_photo * comment_id (PK) -> FK to comment.comment_id * photo_id (PK) -> FK to photo.photo_id
还有可能发表一个属于两个不同项目的评论.如果您认为这是一个问题,我可以尝试改进设计.