2

我已经使用 laravel(php mvc 框架)几个星期了。目前我正在为每个非数据透视表创建一个模型。甚至像这样简单的表格:

id (无符号整数 (PK)) | 用户类型 (varchar(20))

1 | 客人

2 | 成员

3 | 版主

因为使用 eloquent ORM 可以更轻松地将我的其他模型与它们关联起来。

我想知道为了利用 ORM 为这种简单的表创建模型是否正常,或者是否有更好的方法?

目前我的应用程序正在使用这些表的模型运行,但我仍然想确保我在学习时采用了良好的编码约定。

提前致谢。

4

1 回答 1

2

这是一个很长的答案:是的!

我不知道何时或为什么model成为 的同义词entity,但这会导致混淆。

根据 MVC 发明者 Trygve Reenskaug 在原始 MVC 文章中的说法:

定义
模型是计算系统中数据形式的抽象的主动表示

[...]

模型在计算机中表示为数据的集合以及处理这些数据所需的方法。

所以,现在很多人(错误地)将模型定义为数据表示、数据存储或其他东西,但这是错误的。

模型处理您的应用程序逻辑,这包括数据抽象、数据存储、数据处理等。

我习惯将我的数据抽象称为 anEntity而不是model. 我的应用程序模型层称为Serviceor Application Model。我的存储层被称为只是Storage等等......所有这些都是我们可以调用的Model

说清楚了,现在我们可以继续...

你说:

因为使用 eloquent ORM 可以更轻松地将我的其他模型与它们关联起来。

够了!

没有什么可以阻止您使用计划 txt 文件作为存储,但如果您的数据与其他数据相关,那么您应该寻找一个数据库。

Eloquent 是一个 ORM(对象关系映射),因此它依赖于它背后的数据库。如果您使用 txt 文件,如何按用户类​​型恢复用户?

我不习惯框架,但是它们中的大多数会自动生成实体,您只需要声明它们...

如果某个实体没有业务逻辑,而您只需要存储它,那么您就不需要为其提供“完整模型”。这就是你正在做的事情。

希望我说服了你...

于 2013-11-12T03:38:50.143 回答