多态关系是不好的做法?

时间:2015-09-30 05:50:17

标签: mysql laravel laravel-5.1

我正在使用Laravel,并且需要拥有像多态关系这样的东西。看起来他们正好解决了我需要的东西,简而言之,它能够根据类型存储不同的数据。

但是,我知道我不能使用任何约束,比如外键。而且我已经读到它们本质上是一种反模式。但我想知道其他人对此的看法,以及是否有人在没有问题的情况下使用它们。

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

1 个答案:

答案 0 :(得分:2)

根据mjolnic评论,多态关系是一种反模式,并打破了最佳实践原则。

说完这个,你从来没有把json存放在BLOB或TEXT列中吗? Wordpress不存储在mysql中序列化的数据吗?

在现实世界中,(在大学之外),有很多情况下违反规则是个好主意。根据您的具体使用情况,可能适合打破它们。

简单的博客示例。你有帖子,你有页面。它们都需要完全相同的表格格式。从内容分为postspages时,多态关系带来的好处远大于规范化以及开发和维护所付出的努力。