251 votes

Laravel - créer un modèle, un contrôleur et une migration en une seule commande artisanale

Je peux créer un modèle et un contrôleur de ressources (lié au modèle) avec la commande suivante

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

Je souhaite également créer une migration avec la commande ci-dessus, est-ce possible ?

0 votes

Je pense que dans ce cas, l'option --resource n'est pas nécessaire. L'option --model est suffisante.

612voto

Christophvh Points 3918

Vous pouvez le faire si vous partez du modèle

php artisan make:model Todo -mcr

si vous exécutez php artisan make:model --help vous pouvez voir toutes les options disponibles

-m, --migration Créer un nouveau fichier de migration pour le modèle.
-c, --controller Créer un nouveau contrôleur pour le modèle.
-r, --resource Indique si le contrôleur généré doit être un contrôleur de ressources.

Mise à jour

Comme mentionné dans les commentaires par @arun dans les versions plus récentes de laravel > 5.6 il est possible d'exécuter la commande suivante :

php artisan make:model Todo -a

-a, --all Générer un m pour le modèle

51 votes

Nous pouvons maintenant utiliser php artisan make:model Todo -a pour créer des modèles, des migrations, des contrôleurs de ressources et des factory

0 votes

Pourquoi, par exemple, la méthode show param est l'objet du modèle lors de la création avec make:model -mcr vs make:controller --resource la méthode show Le paramètre est $id

0 votes

@Cr1xus Parce que dans la deuxième commande vous devez spécifier le modèle de ressources que vous voulez utiliser, dans la première commande le drapeau -r connaît le bon modèle parce que nous venons juste de créer ce modèle.

32voto

sunil Points 69

Vous pouvez le faire avec la commande suivante :

php artisan make:model post -mcr

Bref :

-m, pour créer une migration

-c pour créer un contrôleur

-r pour spécifier que le contrôleur a des ressources

0 votes

La question de l'opérateur comportait une ressource, votre réponse est donc incomplète.

30voto

Udhav Sarvaiya Points 676

Vous pouvez faire modèle + migration + contrôleur en une seule ligne, à l'aide de cette commande :

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

Version courte : php artisan make:model -mc test

Sortie :-

Modèle créé avec succès.

Created Migration:2018_03_10_002331_create_tests_table

Contrôleur créé avec succès.


Si vous devez effectuer toutes les CRUD des opérations dans la contrôleur puis utiliser cette commande :

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

Version courte : php artisan make:model -mc test --resource

1 votes

Veuillez utiliser php artisan make:model --migration --controller --resource Test .

0 votes

Je n'ai pas eu le temps de faire le tour de la question, mais j'ai eu l'occasion de me rendre compte que je n'avais pas le temps de faire le tour de la question et que je n'avais pas le temps de faire le tour de la question. J'utilise laravel 5.4. Il se peut qu'une version inférieure de laravel ne soit pas supportée. @Udhav

0 votes

J'ai installé un nouveau Laravel, le code que vous suggérez fonctionne, merci @Affan :)

5voto

Affan Points 820

Laravel 5.4 Vous pouvez utiliser

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

Cela créera 1) un modèle 2) un contrôleur avec une fonction de ressource par défaut 3) un fichier de migration

Et a obtenu une réponse

Modèle créé avec succès.

Migration créée : 2018_04_30_055346_create_tests_table

Contrôleur créé avec succès.

2voto

Nirmal Khadka Points 31

Pour créer un mode, des contrôleurs avec des ressources, vous pouvez taper CMD comme suit :

 php artisan make:model Todo -mcr

Vous pouvez également vérifier en tapant

php artisan help make:model

où vous trouverez toutes les idées

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X