我有一个用于创建新公司的命令行命令。在命令中,它使用ask()来询问用户公司账单地址信息。其中一个字段'address2'是可选的,当用户只是点击返回将其留空时,它在Laravel 5.0中运行得很好。我已经阅读了新的5.1命令。我已经将此命令重构为Laravel 5.1规范,但我无法弄清楚如何使用ask()函数来允许字段为空。如何询问()用户是否有可选的地址字段?我已经提供了默认值,例如:
$address = $this->ask("address2", "n/a");
但是我不能在不必要的address2字段中拥有'n / a'或其他任何内容。我希望它是空白的,但是,这样做:
$address = $this->ask("address2", "");
或者这个:
$address = $this->ask("address2", null);
导致此错误:“需要一个值。”
我被困住了。如何在Laravel 5.1中允许空白的可选字段?
答案 0 :(得分:1)
你可以按照
的方式做点什么$address2 = $this->askOptional('address2');
private function askOptional($question)
{
$answer = $this->ask($question, '(empty)');
return '(empty)' == $answer ? null : $answer;
}