Laravel 5.1 中断了以前工作的控制台命令
Laravel 5.1 breaks previously working console command
我有一个用于创建新公司的命令行命令。在命令中,它使用 ask() 询问用户公司账单地址信息。其中一个字段 'address2' 是可选的,它过去在 Laravel 5.0 中工作得很好,而用户只需点击 return 将其留空。我已经阅读了新的 5.1 命令。我已将此命令重构为 Laravel 5.1 规格,但我不知道如何使用 ask() 函数来允许字段为空。我如何向用户询问可选地址字段?我已经提供了默认值,例如:
$address = $this->ask("address2", "n/a");
但我不能在不必要的 address2 字段中包含 'n/a' 或任何与此相关的内容。我希望它是空白的,但是,这样做:
$address = $this->ask("address2", "");
或者这个:
$address = $this->ask("address2", null);
导致此错误:"a value is required."
我卡住了。如何允许 Laravel 5.1 中的空白可选字段?
你可以按照
的方式做一些事情
$address2 = $this->askOptional('address2');
private function askOptional($question)
{
$answer = $this->ask($question, '(empty)');
return '(empty)' == $answer ? null : $answer;
}
我有一个用于创建新公司的命令行命令。在命令中,它使用 ask() 询问用户公司账单地址信息。其中一个字段 'address2' 是可选的,它过去在 Laravel 5.0 中工作得很好,而用户只需点击 return 将其留空。我已经阅读了新的 5.1 命令。我已将此命令重构为 Laravel 5.1 规格,但我不知道如何使用 ask() 函数来允许字段为空。我如何向用户询问可选地址字段?我已经提供了默认值,例如:
$address = $this->ask("address2", "n/a");
但我不能在不必要的 address2 字段中包含 'n/a' 或任何与此相关的内容。我希望它是空白的,但是,这样做:
$address = $this->ask("address2", "");
或者这个:
$address = $this->ask("address2", null);
导致此错误:"a value is required."
我卡住了。如何允许 Laravel 5.1 中的空白可选字段?
你可以按照
的方式做一些事情$address2 = $this->askOptional('address2');
private function askOptional($question)
{
$answer = $this->ask($question, '(empty)');
return '(empty)' == $answer ? null : $answer;
}