【发布时间】:2019-07-04 23:31:20
【问题描述】:
protected $signature = 'do_command {import=false}';
public function handle(){
$import= $this->argument('import');
if($import){
// do something else
}
}
我在控制器中使用它,而不仅仅是:
$command = 'do_command';
$option = null;
if($import){
$option = 'import';
}
Artisan::call($command, [$option]);
问题是,没关系,如果控制器中的$import 是true/false,if 语句总是被执行并且$this->argument('import') 在handle 方法中总是为真,即使我调用Artisan::call($command)没有第二个论点。
【问题讨论】:
-
默认值是(字符串)“false”,实际上不是 false。这意味着它在你的 if 语句中是正确的。我认为您还应该将选项传递为 ['import' => true] 而不是 ['import']
标签: php laravel laravel-5 cron