我得到了这个项目的工作与绝对没有文档或联系开发人员。我注意到,在数据库转储中,它们在两个表中存储了类似于php名称空间的雄辩模型。例如,地址表有一个名为“object\u type”的字符串列,其值始终为“app\entities\client”。我在整个项目中搜索使用这个值的php代码。希望能让我了解它的目的。不出所料,这个项目从来没有使用这个值。我只是看到它硬编码这些值插入到数据库。
我的问题是,这是某种数据库和/或orm建模设计实践吗?如果是这样的话,你能解释一下如何在简单的实际意义上使用它吗?
也许这是开发人员的一些概念,但它从未进化。这是一个有趣的想法,但是,通过mysql在一个字符串上连接的想法听起来像是折磨。
2条答案
按热度按时间pqwbnv8z1#
我不知道开发商在想什么。
但是想象一下,我们在一个论坛里,每个帖子都有回复。我们可能想有一个收藏夹表,我们可以保存回复和线程。
一种方法是在Favorites表中有一个名为“object\u type”的列(仅使用与您案例中相同的术语),然后当我们将一个对象保存到数据库中时,我们可以使用:
这样会将该类的命名空间保存到数据库中。但当我们从数据库中得到它时,拉雷维尔会认出它的。
希望这感冒能有帮助。
mbzjlibv2#
听起来像是拉威尔多态关系:
自定义多态类型。
默认情况下,laravel将使用完全限定的类名来存储相关模型的类型。
是的,这是一种有效的建模技术,尽管纯粹主义者正确地认为这种技术滥用了范式。