我通过make:command创建命令
php artisan make:command ResetDBCommand
然后我想在处理程序中运行两个命令
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.
我怎样才能做到这一点?
正确的命令是ide-helper:models
您可以确认是否执行以下操作:
php artisan help ide:models
你得到:
[...]
用法:
ide-helper:models [选项] [-] [<model> ...]
这表示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中测试了以上内容
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句