我想介绍我的情况,并知道我是否应该使用STI解决方案。
我正在创建一个留言板网站,到目前为止,我有几个模型:用户、主题、帖子..
明确表示:帖子就像对主题的评论。主题有标题和内容。帖子只有内容。
现在,用户可以选择喜欢/不喜欢帖子或主题。我想了三个选择:
- 主题和帖子没有联系(每个模型都有“num_of_likes”、“num_of_dislikes”)
- 主题继承 Post。
- Topic 和 Post 继承自一个基本模型,例如可以称为 LikeableObj。
这三个选项中哪一个最适合我的需求?
有没有我没有想到的第四个选项?
如果我希望将来有第三个可以被喜欢的模型怎么办?