首页 > 解决方案 > Laravel + MySQL - 存储 Eloquent 命名空间

问题描述

我得到了这个项目,完全没有文档或联系开发人员。我注意到在数据库转储中,他们将 Eloquent 模型的 PHP 命名空间存储在几个表中。例如,地址表有一个名为“object_type”的字符串列,其值始终为“App\Entities\Client”。我在整个项目中搜索了将使用此值的 PHP 代码。希望能让我了解它的目的。不出所料,该项目从不使用这个值。我只是看到它在插入数据库时​​对这些值进行了硬编码。

我的问题是,这是某种数据库和/或 ORM 建模设计实践吗?如果是这样,你能解释一下如何在简单的实际意义上使用它吗?

也许这是开发人员的一些概念,它从未发展过。这是一个有趣的想法,但是,通过 MySQL 在字符串条件上加入的想法听起来像是折磨。

标签: phpmysqllaravel

解决方案


听起来像 Laravel多态关系

自定义多态类型。
默认情况下,Laravel 将使用完全限定的类名来存储相关模型的类型。

而且,是的,这是一种有效的建模技术,尽管纯粹主义者正确地认为这种技术滥用了正常形式。


推荐阅读