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


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


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

Вам не нужно добавлять флаг --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, к вашему сведению, этот ответ уже дан.
Арун
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.