猿问

在模型中创建新列而不是迁移

我正在尝试学习 Laravel 并且进展顺利。但我觉得 Eloquent 有一些很奇怪的地方。

显然,您应该为每个表创建一个模型,然后进行迁移并向迁移添加新列。

但是如果我不能在模型类中添加新列并且必须编辑迁移文件,那么首先拥有模型类有什么意义呢?


哆啦的时光机
浏览 144回答 2
2回答

慕桂英3389331

迁移迁移就像数据库的版本控制,允许您的团队轻松修改和共享应用程序的数据库架构。迁移通常与 Laravel 的模式构建器配对,以轻松构建应用程序的数据库模式。如果您曾经不得不告诉团队成员手动将一列添加到他们的本地数据库模式,那么您就会遇到数据库迁移解决的问题。来源楷模Laravel 中包含的 Eloquent ORM 提供了一个漂亮、简单的 ActiveRecord 实现来处理你的数据库。每个数据库表都有一个对应的“模型”,用于与该表进行交互。模型允许您查询表中的数据,以及向表中插入新记录。来源结论总而言之,迁移允许您构建数据库并确保数据库保持不变,即使您使用版本控制系统或多个环境也是如此。模型是您与所述数据库的内容进行通信的方式。结构 -> 迁移数据 -> 模型

慕容森

您的迁移文件包含数据库架构,它们用于创建数据库表。模型用于与这些表进行交互。您的模型扩展Illuminate\Database\Eloquent\Model了负责查询数据库以进行 CRUD 操作的类。您的迁移扩展了Illuminate\Database\Migrations\Migration类,Migration该类负责根据您定义的架构创建或删除表和列。因此,回到您的主要问题,将这两个逻辑保留在不同的类中是分离内容的更好方法。如果您将所有逻辑(包括表创建和 CRUD 操作)转储到单个类中,那将不会像在 Laravel 中那样干净。参考:https://laravel.com/docs/5.8/eloquenthttps://laravel.com/docs/5.8/migrations
随时随地看视频慕课网APP
我要回答