Запуск php artisan ide: модели автоматически

#laravel #laravel-artisan

#laravel #laravel-artisan

Вопрос:

Я создаю команду с помощью make:command

 php artisan make:command ResetDBCommand
  

Затем я хотел бы запустить команду two в обработчике

 php artisan ide:models
php artisan db:seed
  

Однако у меня не получается автоматически запускать две команды с помощью приведенных ниже кодов

 Artisan::call('db:seed');
$console->writeln('db:seed done.');

Artisan::call('ide:models--force');
$console->writeln('ide:models done.');
  

Ошибка:

 The command "ide:models--force" does not exist.
  

как я могу это сделать?

Комментарии:

1. обычно между именем команды и ее аргументами и параметрами есть пробел … но также есть синтаксис для вызова команд с параметрами

2. @lagbox Я пробовал ‘ide: models —force’ раньше, и я получил эту ошибку — команда «ide: модели» не существует

3. существует ли команда?

4. @lagbox это не из php artisan. Это происходит от barryvdh / laravel-ide-helper. Но также мне нужно запустить настройку обновления через консоль с помощью команды — php artisan ide: models затем введите ‘y’

5. Разве это не команда ide-helper:models ?

Ответ №1:

Правильная команда — ide-helper:models вы можете подтвердить это, если выполните:

 php artisan help ide:models
  

Вы получаете:

[…]
Использование:
ide-помощник: модели [параметры] [—] [<модель> …]

это указывает на то, что Laravel автоматически разрешает эту команду при вызове в командной строке. Однако такой механизм разрешения не существует при программном вызове.

Другая проблема заключается в том, что --force это недопустимый вариант в ide-helper:models том, что вы можете сделать, хотя:

 Artisan::call('db:seed');
$console->writeln('db:seed done.');

// Uncomment one of the two
// Artisan::call('ide-helper:models --nowrite'); // Only write metadata in the _ide_helper_models.php file
// Artisan::call('ide-helper:models --write'); // Write metadata on models
// ------
$console->writeln('ide:models done.');
  

Выберите тот, который вы предпочитаете соответственно

Протестировано выше в Laravel 8