Laravel 5.4在单个工匠命令中创建模型,控制器和迁移


148

我可以使用以下命令创建模型和资源控制器(绑定到模型)

php artisan make:controller TodoController --resource --model=Todo

我还想使用上述命令创建迁移,可以吗?


我认为在这种情况下,不需要--resource标志。--model就足够了。
卡·雷格尔林

Answers:


409

从模型开始就可以做到

php artisan make:model Todo -mcr

如果您运行php artisan make:model --help,则可以看到所有可用选项

-m,--migration为模型创建一个新的迁移文件。
-c,--controller为模型创建一个新的控制器。
-r,--resource指示生成的控制器是否应为资源控制器

更新资料

如@arun在laravel> 5.6的较新版本中的注释中所述,可以运行以下命令:

php artisan make:model Todo -a

-a,--all为模型生成迁移,工厂和资源控制器


32
现在,我们可以使用它php artisan make:model Todo -a来创建模型,迁移,资源控制器和factory
arun

例如,为什么show在使用make:model -mcrvs make:controller --resource方法创建show参数时方法param是模型对象$id
Cr1xus

@ Cr1xus因为在第二个命令中您需要指定要使用的资源模型,所以在第一个命令中-r标志知道正确的模型,因为我们刚刚创建了该模型。
Christophvh

当我使用此命令时,为什么它不在app / http / resources目录中创建ModelResource.php?
tyasird

@tyasird Resource意味着您的控制器将被自动加载模型。这并不意味着该API资源
Christophvh

21

您可以使用以下命令在同一行中创建model + migration + controller

php artisan make:model --migration --controller test

精简版: php artisan make:model -mc test

输出:-

模型创建成功。

创建的迁移:2018_03_10_002331_create_tests_table

控制器创建成功。


如果需要在控制器中执行所有CRUD操作,请使用以下命令:

php artisan make:model --migration --controller test --resource  

精简版: php artisan make:model -mc test --resource


1
请使用php artisan make:model --migration --controller --resource Test。
阿凡

兄弟,我先创建,然后发布。实际上,我使用您给定的命令并在末尾添加--resource,并且此工作请从您端检查。我正在使用laravel 5.4。可能较低版本的laravel不支持。@Udhav
阿凡

我安装了新鲜的Laravel,您的建议代码正在运行,谢谢@Affan :)
Udhav Sarvaiya

15

您可以使用以下命令进行操作:

php artisan make:model post -mcr

简介:

-m,以创建迁移

-c创建控制器

-r指定控制器具有资源


Op在他的问题中有资源,因此您的答案不完整。
Landon

7
php artisan make:model PurchaseRequest -crm

结果是

Model created successfully.
Created Migration: 2018_11_11_011541_create_purchase_requests_table
Controller created successfully.

只需使用-crm而不是-mcr


7

更新

Laravel 6通过模型

为模型生成迁移,种子,工厂和资源控制器

php artisan make:model Todo -a

要么

php artisan make:model Todo -all

其他选择

-c,-- controller为模型创建一个新的控制器

-f,-- factory为模型创建新工厂

--force 即使模型已经存在也创建类

-m,-- migration为模型创建一个新的迁移文件

-s,--seed 为模型创建一个新的种子文件

-p,--pivot 指示生成的模型是否应该是定制的中间表模型

-r,--resource 指示生成的控制器是否应为资源控制器

寻求更多帮助

php artisan make:model Todo -help

希望新手能得到帮助。


1
这很不错
user3444748

4

Laravel 5.4您可以使用

 php artisan make:model --migration --controller --resource Test

这将创建1)模型2)具有默认资源功能的控制器3)迁移文件

并得到答案

模型创建成功。

创建的迁移:2018_04_30_055346_create_tests_table

控制器创建成功。



3

要使模式成为具有资源的控制器,可以按如下方式键入CMD:

 php artisan make:model Todo -mcr

或者您可以通过输入进行检查

php artisan help make:model

在这里您可以得到所有的想法


2

制作所有3:表的模型,控制器和迁移模式

在控制台中编写: php artisan make:model NameOfYourModel -mcr




0

到目前为止,我的工作方式:

php artisan make:model Customer
php artisan make:controller CustomersController --resource

显然,有一种更快的方法:

php artisan make:controller CustomersController --model=Customer

0

只需在终端上尝试此命令

php artisan make:model Todo -mcr

在输出和您的模型下方,将创建带有资源和迁移的控制器文件...

Model created successfully.
Created Migration: 2019_12_25_105305_create_todos_table
Controller created successfully.

感谢您的宝贵时间@MD Masud,对于您的友好信息,此答案已经给出。
阿伦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.