Laravel — создать модель, контроллер и миграцию в одной команде мастера
спросил
Изменено
10 месяцев назад
Просмотрено
472 тысячи раз
Я могу создать модель и контроллер ресурсов (привязанный к модели) с помощью следующей команды
php artisan make:controller TodoController --resource --model=Todo
Я также хочу создать миграцию с помощью указанной выше команды, возможно ли это?
- laravel
- laravel-5
- laravel-artisan
1
Вы можете сделать это, если начнете с модели
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 Создать миграцию, фабрику и ресурс
контроллер для модели
5
Обновлено
Laravel 6 или более поздней версии
Через модель
Для создания контроллера миграции, сеялки, фабрики и ресурсов для модели
php artisan make:model Todo -a
Или
php artisan make:model Todo -all
Другие параметры
-c, —controller Создать новый контроллер для модели
-f, —factory Создать новую фабрику для модели
—force Создать класс, даже если модель уже существует
-m, —migration Создать новый файл миграции для модели model
-s, —seed Создать новый файл сеялки для модели
-p, —pivot Указывает, должна ли сгенерированная модель быть пользовательской моделью промежуточной таблицы
-r, —resource Указывает, должен ли сгенерированный контроллер быть контроллером ресурсов
Для получения дополнительной справки
php artisan make:model Todo -help
Надеюсь, новичкам помогут.
0
Вы можете сделать это с помощью следующей команды:
php artisan make:model post -mcr
Кратко:
-m, для создания миграции
-c для создания контроллера
-r для указания, что контроллер имеет ресурс
0
Вы можете сделать модель + миграцию + контроллер , все в одну строку, используя эту команду:
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
3
php artisan make:model PurchaseRequest -crm
Результат
Модель успешно создана. Создана миграция: 2018_11_11_011541_create_purchase_requests_table Контроллер успешно создан.
Просто используйте -crm вместо -mcr
1
php artisan make:model Автор -cfmsr
-c, —controller Создать новый контроллер для модели
-f, —factory Создать новую фабрику для модели
-m, —migration Создать новый файл миграции для модели
-s, —seed Создать новый файл сеялки для модели
-r, —resource Указывает, должен ли сгенерированный контроллер быть контроллером ресурсов
Laravel 5.4 Вы можете использовать
php artisan make:model -- миграция --controller --resource Тест
Это создаст
1) Модель
2) контроллер с функцией ресурса по умолчанию
3) Файл миграции
И получил ответ
Модель успешно создана.
Создана миграция: 2018_04_30_055346_create_tests_table
Контроллер успешно создан.
Мы можем использовать php artisan make:model Todo -a
для создания модели, миграции, контроллера ресурсов и фабрики
1
Вам не нужно добавлять флаг —resource, просто введите следующее, и laravel создаст все необходимые ресурсы
php artisan make:controller TodoController --model=todo
Вместо использования длинной команды, такой как
php artisan make:model--migration --controller --resource
для сделать миграцию, модель и контроллер , вы можете использовать даже короче как -mcr.
php artisan make:model <имя модели> -mcr
Подробнее НАИБОЛЕЕ ПОЛЕЗНЫЕ LARAVEL ARTISAN MAKE COMMANDS LISTS
1
Если вы используете Laravel только как API, добавьте --api
option:
php artisan make:model Post -a --api
Чтобы сделать режим контроллеров с ресурсами, вы можете ввести CMD следующим образом:
php artisan make:model Todo -mcr
или вы можете проверить, набрав
php artisan help make:model
где вы можете получить все идеи
Вы можете использовать -m -c -r для миграции, модели и контроллера.
php artisan make:model Post -m -c -r
Чтобы сделать все 3: Модель, контроллер и схема миграции таблицы
напишите в консоли: php artisan make:model NameOfYourModel -mcr
Как я это делал до сих пор:
php artisan make:model Заказчик php artisan make:controller CustomersController --resource
Очевидно, есть более быстрый способ:
php artisan make:controller CustomersController --model=Customer
php artisan make:model modelname -mcr
для создания модели. Здесь -mcr
обозначает компоненты и ресурсы миграции
драйверов — настройки принтера CUPS по умолчанию не соблюдаются, сервер Ubuntu
Я использую сервер ubuntu в качестве сервера печати для устройств в сети, он подключен к TM-T20X (квитанция термопринтер) используя CUPS и раздавая его в сети, все работает как положено, за исключением одной проблемы, при печати размер чека составляет 72 мм, а не 80 мм , при проверке настроек принтера по умолчанию он действительно говорит 80 мм, а при проверке файла ppd также говорит 80 мм (я использую официальные драйверы Epson).
Но, как вы можете видеть на скриншоте, он отображается как 72 мм, что даже не упоминается в файле ppd, и при печати я получаю варианты 52 мм или 72 мм, но никогда не 80 мм.
Я не уверен, где я могу изменить эти параметры по умолчанию
Снимок экрана, на котором показано значение по умолчанию «72»
Снимок экрана, на котором показано, как я устанавливаю значение по умолчанию как «80»
lpoptions -l
показывает мне это:
PageSize/Media Size: *RP80x200 RP80x2000 RP58x200 RP58x2000 Custom. WIDTHxHEIGHT Разрешение/разрешение: *203x203dpi TmxPaperReduction/Уменьшение бумаги: Off Top Bottom *Оба TmxBuzzerAndDrawer/Buzzer/ Денежный ящик: *NotUsed InternalBuzzer ExternalBuzzer OpenDrawer1 OpenDrawer2 TmxPaperCut/Paper Cut: NoCut *CutPerJob CutPerPage
Это дает правильное значение, которое я хочу, но это не фактическое используемое значение
Вот «/etc/cups/printers.conf»
# Файл конфигурации принтера для CUPS v2.4.1 # Автор: cupsd # НЕ РЕДАКТИРОВАТЬ ЭТОТ ФАЙЛ, КОГДА РАБОТАЕТ CUPSD Следующийпринтерид 2 <Принтер по умолчанию EPSON_TM-T20X> Идентификатор принтера 1 UUID-урна:uuid:c5d73bc5-6c18-30d9-7bee-7605719da925 Информация EPSON TM-T20X Расположение MakeModel EPSON TM Thermal (203 dpi) DeviceURI dnssd://EPSON%20TM-T20X%20(068658)._printer._tcp.local/ Состояние бездействия StateTime 1688937367 Время конфигурации 1688939896 Тип 53252 Принятие Да Общий Да JobSheets нет нет КвотаПериод 0 PageLimit 0 KLimit 0 OpPolicy по умолчанию Повторное задание ErrorPolicy
Вот мой . ppd
*PPD-Adobe: "4.3"
*% Copyright (C) Seiko Epson Corporation 2018. Все права защищены.
*%
*% PPD-файл для драйвера принтера TM Series Linux CUPS.
*Версия формата: "4.3"
*Версия файла: "2.0"
*Языковая версия: английский
*LanguageEncoding: ISOLatin1
*PCFileName: "EPTMBATH.PPD"
*Производитель: "ЭПСОН"
*Продукт: "(Термальный принтер)"
*Название модели: "EPSON TM Thermal"
*ShortNickName:"ТМ Термальный"
*Псевдоним: "EPSON TM Thermal (203 dpi)"
*PSVersion: "(3010.000) 0"
*Уровень языка: "3"
*ColorDevice: Ложь
* Цветовое пространство по умолчанию: серый
*Файловая система: Ложь
*Пропускная способность: "1"
* Альбомная ориентация: Plus90
* ПеременнаяPaperSize: Истина
*TTRasterizer: Type42
*cupsВерсия: 1.2
*cupsManualCopies: True
*cupsModelNumber: 100
*cupsFilter: "application/vnd.cups-raster 0 rastertotmtr"
*cupsLanguages: "en"
*% Настройки параметров принтера
*OpenGroup: Общие/Общие
*% Настройки размера страницы.
*OpenUI *PageSize/Размер носителя: PickOne
*OrderDependency: 10 *PageSize AnySetup
*Размер страницы по умолчанию: RP80x200
*PageSize RP80x200/рулонная бумага 80 x 200 мм: ">setpagedevice"
*PageSize RP80x2000/рулонная бумага 80 x 2000 мм: " 3]/ImagingBBox null>>setpagedevice"
*PageSize RP58x200/рулонная бумага 58 x 200 мм: ">setpagedevice"
*PageSize RP58x2000/рулонная бумага 58 x 2000 мм: ">setpagedevice"
*CloseUI: *Размер страницы
*OpenUI *Регион страницы: PickOne
*OrderDependency: 10 *PageRegion AnySetup
*Регион страницы по умолчанию: RP80x200
*PageRegion RP80x200/рулонная бумага 80 x 200 мм: ">setpagedevice"
*PageRegion RP80x2000/рулонная бумага 80 x 2000 мм: ">setpagedevice"
*PageRegion RP58x200/рулонная бумага 58 x 200 мм: ">setpagedevice"
*PageRegion RP58x2000/рулонная бумага 58 x 2000 мм: ">setpagedevice"
*CloseUI: *PageRegion
*Область изображения по умолчанию: RP80x200
*ImageableArea RP80x200/рулонная бумага 80 x 200 мм: "0,0 0,0 204,3 566,9"
*ImageableArea RP80x2000/рулонная бумага 80 x 2000 мм: "0,0 0,0 204,3 5669,3"
*ImageableArea RP58x200/рулонная бумага 58 x 200 мм: "0,0 0,0 149. 1 566,9 дюйма
*ImageableArea RP58x2000/рулонная бумага 58 x 2000 мм: "0,0 0,0 149,1 5669,3"
*Размер бумаги по умолчанию: RP80x200
*PaperDimension RP80x200/рулонная бумага 80 x 200 мм: "204,3 566,9"
*PaperDimension RP80x2000/рулонная бумага 80 x 2000 мм: "204,3 5669,3"
*PaperDimension RP58x200/рулонная бумага 58 x 200 мм: "149,1 566,9"
*PaperDimension RP58x2000/рулонная бумага 58 x 2000 мм: "149,1 5669,3"
*% Пользовательские настройки размера страницы.
*Максмедиавидс: "204,3"
*MaxMediaHeight: "5669,3"
*NonUIOrderDependency: 100 AnySetup *CustomPageSize
*CustomPageSize True: "pop pop pop <>setpagedevice"
* Ширина ParamCustomPageSize: 1 балл 80 204,3
*ParamCustomPageSize Высота: 2 балла 80 5669.3
*ParamCustomPageSize WidthOffset: 3 балла 0 0
*ParamCustomPageSize HeightOffset: 4 балла 0 0
*ParamCustomPageSize Ориентация: 5 int 0 0
*% Настройки разрешения.
*OpenUI *Разрешение/Разрешение: PickOne
*OrderDependency: 20 AnySetup *Разрешение
* Разрешение по умолчанию: 203x203 dpi
*Разрешение 203 x 203 dpi/203 x 203 dpi: ">setpagedevice"
*CloseUI: *Разрешение
*% Единицы горизонтального и вертикального движения.
Leave a Reply