我正在使用laravel 5.1。在debian bash shell中。我创建了一个名为survey:complete的自定义控制台命令。我已经使用了一段时间,现在我想为要生成的调查数量添加一个可选参数。
但是,我已经按照文档进行了操作,但我还没有能够成功添加我的论点。我同样改变了签名:
protected $signature = 'survey:complete {--number=}';
并尝试引用参数
public function handle() {
for( $i = 0; $i < $this->argument('number'); $i++ ) {
但是我收到了这个错误:
$> php artisan survey:complete --number=1
[InvalidArgumentException]
The "number" argument does not exist.
我print_r()&#39;参数数组,我得到了这个:
$ php artisan survey:complete --number=1
Array(
[command] => survey:complete
)
[InvalidArgumentException]
The "number" argument does not exist.
如何将我的参数添加到我的命令中?
答案 0 :(得分:5)
我需要使用option()
,而不是argument()
。
$number = $this->option('number');
答案 1 :(得分:0)
改为为我工作:
protected $signature = 'mycommand {limit=1000}'
// call: php artisan mycommand 100
我使用以下方法检索值:
public function handle() {
// ...
$limit = $this->arguments('limit')['limit']
// ...
}