【问题标题】:Map existing Database table for Laravel为 Laravel 映射现有的数据库表
【发布时间】:2014-01-20 11:49:56
【问题描述】:

我正在寻找一种使用 Eloquent ORM 映射项目中现有表并在代码中使用它们的方法。我使用 MySQL 数据库并计划迁移到 MSSQL。任何方式点表示赞赏。

【问题讨论】:

  • 映射到底是什么意思?将 eloquent 与现有表一起使用,或更改数据库结构以使用 Laravel。但是,我想,对于这两种情况,您都需要提供数据库和表的结构。
  • 我的意思是我有一个现有的数据库,你想为每个表制作我已经有一个种子并创建地图 1-> 许多模型定义。
  • @Sangoku “映射”后你有成功创建所有关系吗?
  • 是的,我成功了,但花了一些时间,我不得不构建一个需要相当高的 mysql 用户权限的定义阅读器......这不是主意,但完成了工作。

标签: database laravel migration database-migration database-management


【解决方案1】:

您必须手动执行此操作。

即,使用 eloquent 为您希望在代码中访问的每个表创建一个 eloquent 模型。

如果您没有名为 created_at 和 updated_at 的时间戳,您可以在模型中禁用这些列。

手动

如果您有一个 users 表,您可以像这样在您的模型文件夹中使用 user.php 文件“映射”它

class User extends Eloquent {

    protected $table = 'users';

    public $timestamps = false;

}

通过工匠

您可以使用Jeffrey Ways Laravel Generators 来帮助简化模型的初始创建,但您仍需要手动修改时间戳。

【讨论】:

  • 不是有数据库爬虫吗?我可以想出一个,只是问是否有作曲家命令或以前已经做过的事情……讨厌重新发明财富。就像你给它一个表名,他为你创建数据库模型。我即将做出这样的废话,并且不想重拍它。
  • 你可以使用 Jeffrey Ways laravel 生成器来简化一些事情,我会把这个添加到答案中
  • @duellsy 哪个命令从现有表生成模型?
  • @codecowboy 我不相信有这个命令,这就是为什么我建议你需要手动完成,但上面的答案应该可以帮助你。
  • 实际上,您不需要手动执行此操作(至少不再需要)。 github.com/XCMer/larry-four-generator 应该可以帮助您...您可以使用那个或那个加上 Jeffrey Ways Laravel 生成器来帮助搭建脚手架等。
【解决方案2】:

您还可以使用 SQL Server 迁移助手 (SSMA) 将数据库移植到 SQL Server,但您仍需要编写自己的模型以匹配架构。

http://blogs.msdn.com/b/ssma/ http://www.microsoft.com/en-us/download/details.aspx?id=43688

不过,这可能有助于从难题的两面走到一半。

【讨论】:

    【解决方案3】:

    这看起来像一个旧帖子,但它是几天前编辑的,所以我不知道原作者是否正在寻找解决方案,但如果有人需要这个信息,这里是一个 packagegist 包Laravel 5 可以满足您的要求。

    来自现有模式的 Laravel 5 模型生成器: https://packagist.org/packages/ignasbernotas/laravel-model-generator

    希望对某人有所帮助!

    【讨论】:

      【解决方案4】:

      还有一个Eloquent Model Generator 库。它可用于使用数据库表作为源生成 Eloquent 模型。生成的模型将包括关系方法、魔法场和关系的文档块以及一些附加属性。

      【讨论】:

        【解决方案5】:

        这里是另一个:https://github.com/Xethron/migrations-generator

        您只想将这些生成器用于本地开发,因此您不想更新 config/app.php 中的生产提供程序数组。相反,在 app/Providers/AppServiceProvider.php 中添加提供程序。

        更多详情请看这里 - https://packagist.org/packages/ignasbernotas/laravel-model-generator#user-content-installation

        【讨论】:

          猜你喜欢
          • 2019-06-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多