我正在寻找一种使用 Eloquent ORM 映射项目中现有表并在代码中使用它们的方法。我使用 MySQL 数据库并计划迁移到 MSSQL。任何方式点表示赞赏。
5 回答
您必须手动执行此操作。
即,为您希望在代码中使用 eloquent 访问的每个表创建一个 eloquent 模型。
如果您没有名为 created_at 和 updated_at 的时间戳,您可以在模型中禁用这些列。
手动
如果您有一个用户表,您可以使用user.php
模型文件夹中的文件“映射”它,如下所示
class User extends Eloquent {
protected $table = 'users';
public $timestamps = false;
}
通过工匠
您可以使用Jeffrey Ways Laravel 生成器来帮助简化模型的初始创建,但是您仍然需要手动修改时间戳。
这看起来像一个旧帖子,但它是几天前编辑的,所以我不知道原作者是否正在再次寻找解决方案,但如果有人需要这个信息,这里有一个 Laravel 5 的 packagegist 包做你所要求的。
来自现有模式的 Laravel 5 模型生成器: https ://packagist.org/packages/ignasbernotas/laravel-model-generator
希望对某人有所帮助!
还有一个Eloquent 模型生成器库。它可用于使用数据库表作为源生成 Eloquent 模型。生成的模型将包括关系方法、魔法场和关系的文档块以及几个附加属性。
Another here: https://github.com/Xethron/migrations-generator.
You'll only want to use these generators for local development, so you don't want to update the production providers array in config/app.php. Instead, add the provider in app/Providers/AppServiceProvider.php.
For more details look here - https://packagist.org/packages/ignasbernotas/laravel-model-generator#user-content-installation
您还可以使用 SQL Server 迁移助手 (SSMA) 将数据库移植到 SQL Server,但您仍需要编写自己的模型以匹配架构。
http://blogs.msdn.com/b/ssma/ http://www.microsoft.com/en-us/download/details.aspx?id=43688
不过,这可能有助于从难题的双方走到一半。