我正在使用Laravel,碰巧需要像多态关系一样。简而言之,他们似乎完全可以解决我的需求,即能够根据类型存储不同的数据。
但是,我知道我将无法使用任何约束,例如外键。而且我已经读到它们本质上是反模式。但是我想知道其他人对此有何看法,以及是否有人在使用它们时没有问题。
否则,有没有其他方法可以实现多态关系提供的内容,而无需实际使用它们? (使用Laravel)
多态关系是一种反模式,并且违反了mjolnic评论中的最佳做法原则。
话虽如此,您是否从未将json存储在BLOB或TEXT列中? Wordpress是否不存储在mysql中序列化的数据?
[在现实世界中,(在大学以外),在许多情况下,打破规则是个好主意。根据您的特定用例,可能需要将其破坏。
简单的博客示例。你有帖子,你有页面。它们都需要完全相同的表格式。当将内容分为posts
和pages
时,从多态关系中获得的好处远远超过了进行规范化以及开发和维护所付出的努力。
这是对Gravy的回答的评论,由于缺乏声誉而无法在正确的位置编写它。