Laravel 5.1打破以前工作的控制台命令

时间:2015-06-23 02:32:52

标签: php laravel command

我有一个用于创建新公司的命令行命令。在命令中,它使用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中允许空白的可选字段?

1 个答案:

答案 0 :(得分:1)

你可以按照

的方式做点什么
$address2 = $this->askOptional('address2');

private function askOptional($question)
{
    $answer = $this->ask($question, '(empty)');
    return '(empty)' == $answer ? null : $answer;
}