Laravel 5.4 создает модель, контроллер и миграцию одной командой

150

Я могу создать модель и контроллер ресурсов (привязанный к модели) с помощью следующей команды

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

Я хочу также создать миграцию с помощью приведенной выше команды, это возможно?

Арун
источник
Я думаю, что в этом случае флаг --resource не нужен. - модели достаточно.
Лука Регеллин

Ответы:

411

Вы можете сделать это, если вы начинаете с модели

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 Создать миграцию, фабрику и контроллер ресурса для модели

Christophvh
источник
32
Теперь мы можем использовать php artisan make:model Todo -aдля создания модели, миграции, контроллера ресурсов иfactory
Arun
почему, например, метод showparam является объектом модели при создании с make:model -mcrvs make:controller --resourceметод showparam$id
Cr1xus
@ Cr1xus Поскольку во второй команде необходимо указать, какую модель ресурсов вы хотите использовать, в первой команде флаг -r знает правильную модель, потому что мы только что создали эту модель.
Christophvh
Когда я использую эту команду, почему она не создает ModelResource.php в каталоге app / http / resources?
tyasird
Ресурс @tyasird означает, что ваши контроллеры будут предварительно загружены с автоматически введенной моделью. Это не означает API-ресурсы
Christophvh
21

Вы можете сделать модель + миграция + контроллер , все в одной строке, используя эту команду:

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

Кратко

-м, чтобы создать миграцию

-c создать контроллер

-r чтобы указать контроллер имеет ресурс

Сунил
источник
У Опа был ресурс в его вопросе, поэтому ваш ответ неполон.
Landon Call
8

обновленный

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
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

gedeadisurya
источник
4

Laravel 5.4 Вы можете использовать

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

Это создаст 1) модель 2) контроллер с функцией ресурса по умолчанию 3) файл миграции

И получил ответ

Модель успешно создана.

Созданная миграция: 2018_04_30_055346_create_tests_table

Контроллер создан успешно.

Affan
источник
4

Мы можем использовать php artisan make:model Todo -aдля создания модели, миграции, контроллера ресурсов и фабрики

Пракаш Пажанисамы
источник
3

Чтобы сделать режим контроллеров с ресурсами, вы можете набрать CMD следующим образом:

 php artisan make:model Todo -mcr

или вы можете проверить, набрав

php artisan help make:model

где вы можете получить все идеи

Нирмал Хадка
источник
2

Сделать все 3: модель, контроллер и схема миграции таблицы

напишите в своей консоли: php artisan make:model NameOfYourModel -mcr

clusterBuddy
источник
2

Вы можете использовать -m -c -r для миграции, модели и контроллера.

php artisan make:model Post -m -c -r
Дипак Сингх Тхакур
источник
0

Вам не нужно добавлять флаг --resource, просто введите следующее, и laravel создаст все нужные ресурсы

 php artisan make:controller TodoController --model=todo
Ахмед АбдЭлНассер
источник
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

Под выводом и вашей моделью будет создан файл Controller with Resource and Migration ...

Model created successfully.
Created Migration: 2019_12_25_105305_create_todos_table
Controller created successfully.
Доктор Масуд Сикдар
источник
Спасибо, что уделили время @MD Masud, к вашему сведению, этот ответ уже дан.
Арун