【发布时间】:2021-10-24 21:44:35
【问题描述】:
我正在使用 Laravel 构建一个约会应用程序,我表中的每个用户都将具有性别、关系状态、体型、种族、宗教、标志等。在为每个用户创建迁移后,我是否还应该创建模型?我打算有一个 user_details 表,我在其中存储 user_id 和他的其他详细信息,如性别 ID、身体类型 ID 等。真的有必要为每个这些都有一个模型吗?
【问题讨论】:
-
一般来说是的,但是你可以有不直接关联到模型的表,比如数据透视表、配置等。如果你觉得模型是多余/不必要的,Laravel 可以正常工作没有他们使用
DB::table(...)->select(...)等方法。 -
对于您的用例,
User、UserDetail、Gender可以是模型(或gender可以是user_details上的列,取决于规范化级别),@987654327 @ 可以是模型或列,由您决定。 -
每个表都有模型是一种很好的方法。这样,您可以将与数据库相关的职责转移到模型上。您可以在需要时创建模型。例如,假设现在您只需要处理
users表,然后只创建User模型,当您将处理user_details时,然后为它创建一个新模型。此外,如果您要定义任何关系,则必须创建一个新模型。与User一样,您可能还需要事先使用UserDetail。
标签: laravel model database-migration