多态关系是不好的做法吗?

ken*_*in9 4 mysql laravel laravel-5.1

我正在使用Laravel,碰到需要像多态关系一样的东西。简而言之,他们似乎完全可以解决我的需求,即能够根据类型存储不同的数据。

但是,我知道我将无法使用任何约束,例如外键。而且我已经读到它们本质上是反模式。但是我想知道其他人对此有何看法,以及是否有人在使用它们时没有问题。

否则,有没有其他方法可以实现多态关系提供的内容而无需实际使用它们呢?(使用Laravel)

Gra*_*avy 5

多态关系是一种反模式,违反了mjolnic的评论中的最佳做法原则。

话虽这么说,您是否永远不会将json存储在BLOB或TEXT列中?Wordpress是否不存储在mysql中序列化的数据?

在现实世界中(在大学之外),有许多情况是打破规则的好主意。根据您的特定用例,可能需要将其破坏。

简单的博客示例。你有帖子,你有页面。它们都需要完全相同的表格式。将内容拆分为posts和时,从多态关系中获得的好处远远超过了进行规范化以及开发和维护所付出的努力pages