Laravel 使用迁移制作模型

Posted

技术标签:

【中文标题】Laravel 使用迁移制作模型【英文标题】:Laravel make model with migration 【发布时间】:2015-10-22 18:15:50 【问题描述】:

我正在使用以下命令在 Laravel 5 上创建模型:

php artisan make:model Settings

正如视频课程中显示的那样,一旦创建模型,还必须创建新的迁移文件。但是,在我的情况下,迁移并没有被创造出来。 如何获取模型创建时生成的迁移?

composer.json:

...
    "require": 
            "php": ">=5.5.9",
            "laravel/framework": "5.1.*"
        ,
...

【问题讨论】:

【参考方案1】:

我猜你的 L5 版本已经相当老了,因为他们禁止在创建模型的同时创建迁移。

尝试运行ff:

php artisan make:model Settings --migration

【讨论】:

我昨天才用composer安装了Laravel,怎么老了? 你能粘贴你的 composer.json 吗? Laravel 版本为 5.1.8。你是对的,我使用了 --migraiton 并且它有效。发布 composer.json【参考方案2】:

尝试使用此命令

php artisan make:model ModelName -m

php artisan make:model ModelName --migration

它将创建具有迁移类的模型

【讨论】:

这有点偏题,但就约定而言,Model 和 Name 之间不应该有下划线。只是做这个笔记,因为这似乎是许多初学者会蜂拥而至的问题。 @helios456 我放了下划线,因为人们可以理解将模型读取的名称放在括号一侧的位置 [Model_Name = 模型用户希望他可以在该位置放置任何东西的名称]。 更新删除了下划线,以免误导没看评论的人【参考方案3】:

你也可以使用这个命令:

    php artisan make:model ModelName -m

如果你想为你的模型制作控制器,你应该写这个命令:

   php artisan make:model ModelName -mc
   
   // or 

   php artisan make:model ModelName -mcr  //(r: for resource methods)

【讨论】:

【参考方案4】:

2020 年更新:

您现在可以这样做:

php artisan make:model ModelName -a

创建一个:

    型号 控制器 播种者 迁移 工厂

全部使用一个命令。

【讨论】:

【参考方案5】:

您可以使用make:model 等标志;

php artisan make:model Setting -m

帮助:php artisan make:model --help

【讨论】:

【参考方案6】:

php artisan make:model Image -m创建迁移,模型文件

php artisan make:model Image -mcr 使用资源创建迁移、模型、控制器

【讨论】:

【参考方案7】:

如果您想在生成模型时生成数据库迁移,可以使用 --migration 或 -m 选项

php artisan make:model 设置 --migration

php artisan make:model 设置-m

【讨论】:

【参考方案8】:

这很奇怪,因为要跳过迁移,您可以使用标志 --no-migration。这意味着调用php artisan make:model Foo 应该会自动创建所有内容。工匠是否显示任何错误?你检查过日志吗?你使用的是什么 Laravel 版本? 5? 5.1?

【讨论】:

它是最新版本,我昨天刚安装并开始学习 Laravel。查看存储/日志中的日志文件没有显示任何错误。 Artisan 已成功完成,也没有显示任何错误。

以上是关于Laravel 使用迁移制作模型的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 中制作迁移模型

如何在 laravel 模块中进行迁移?

Laravel/lumen 5.2 从现有数据库生成迁移表

Laravel Php 工匠制作迁移错误

仅在 Laravel 中使用单个命令创建模型和迁移? [关闭]

如何从 Laravel 中的现有数据库创建迁移和模型